Несколько кластеров 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 Операции работают.

Другие вопросы по тегам