Можно ли создать разные кластеры ядра ОС, связанные с одним кластером etcd? Если да, то как?
У меня есть сценарий, в котором мне нужно создать несколько кластеров, но я хочу сохранить один кластер etcd. В настоящее время у меня все экземпляры в одном кластере, даже и т.д. Как мне убедиться, что есть отдельные кластеры?
Я следую подходу, в котором служба etcd2 в каждом экземпляре имеет файл среды dropin (в облачной конфигурации), который включает сведения о начальном кластере.
Кластер в CoreOS управляется флотом, и если вы хотите узнать, как это сделать, посмотрите под «скрытые» etcd
ключ /_coreos.com/fleet
$ etcdctl ls /_coreos.com/fleet
/_coreos.com/fleet/machines
/_coreos.com/fleet/engine
/_coreos.com/fleet/lease
/_coreos.com/fleet/unit
/_coreos.com/fleet/job
/_coreos.com/fleet/state
/_coreos.com/fleet/states
Если бы вы могли каким-то образом изменить ключевой префикс, используемый флотом, то у вас должна была быть возможность иметь отдельные кластеры, использующие тот же etcd.
В раздел облачной конфигурации для флота поддерживает это через etcd_key_prefix
настройка. По умолчанию это /_coreos.com/fleet/
поэтому установите для него аналогичное значение с ведущей и конечной косой чертой, и все будет в порядке.
Я не пробовал это, но мне было бы интересно узнать, работает ли это для вас. Если настройка облачной конфигурации работает, тогда каждая машина должна иметь конфигурацию примерно так: /run/systemd/system/fleet.service.d/20-cloudinit.conf
который включает FLEET_ETCD_KEY_PREFIX
переменная окружения. Тогда вы сможете использовать etcdctl
чтобы просмотреть ключ и проверить fleetctl
операции работают.