Несколько кластеров Core-OS с одним кластером etcd?
Можно ли создать разные основные кластеры OS, все связанные до 1 кластера etcd? Если да, то как?
У меня есть сценарий, в котором мне нужно создать несколько кластеров, но я хочу сохранить один кластер etcd. В настоящее время у меня есть все экземпляры в одном кластере, и т.д. Как мне убедиться, что есть отдельные кластеры?
Я придерживаюсь подхода, при котором у службы etcd2 в каждом экземпляре есть файл среды dropin (в облачной конфигурации), в котором содержатся сведения о начальном кластере
1 ответ
Кластер в 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/
так что установите это значение аналогичного типа с лицевой и конечной косой чертой, и вам будет хорошо идти.
Я не пробовал это, но мне было бы интересно узнать, работает ли это для вас. Если настройка cloud-config работает, то каждая машина должна иметь конфигурацию в чем-то вроде /run/systemd/system/fleet.service.d/20-cloudinit.conf
который включает в себя FLEET_ETCD_KEY_PREFIX
переменная окружения. Затем вы должны быть в состоянии использовать etcdctl
просмотреть ключ и проверить fleetctl
Операции работают.