как кластеризовать экземпляры coreos без can-init

поэтому я создал три экземпляра coreos (контейнер linux) на aws без user-data/cloud-config.

Я сделал это, потому что понял, что облачная конфигурация предназначена только для настройки служб, ssh-ключей и т. д., и я хотел сделать это другими способами.

Теперь я хочу знать, как эти три отдельных экземпляра можно преобразовать в кластер, чтобы обновления происходили по одному.

в основном мой вопрос по сути был бы что требуется, чтобы превратить отдельные экземпляры в кластер в coreos?


person fewtile42    schedule 25.02.2017    source источник
comment
эм, запустите в группу автоматического масштабирования или поместите их за ELB.   -  person    schedule 25.02.2017
comment
гм, я автоматически масштабируемая группа добавляет больше экземпляров в случае, если экземпляр выходит из строя или перегружен, и elb балансирует нагрузку между службами, но я спрашиваю, как заставить отдельные экземпляры действовать как кластер в этом случае специально для автоматического обновления. от coreos, @sudosoul   -  person fewtile42    schedule 25.02.2017


Ответы (1)


Самый простой способ — просто уничтожить и воссоздать машины. Использование cloud-init упрощает эту задачу, если вы настроите ее правильно.

Следующим лучшим способом будет написать systemd "добавление" для каждой машины с конфигурацией кластеризации etcd. Вам нужно будет перевести флаги из этого примера в env vars (они следуют одному и тому же формату) и включают эти env vars в выпадающий список.

Пример выглядит так:

/etcd/systemd/system/etcd2.service.d/10-clustering.conf

[Service]
Environment=ETCD_LISTEN_PEER_URLS=http://10.0.0.1:2380
Environment=ETCD_<insert others>
...

После их применения запустите sudo systemctl daemon-reload, чтобы применить изменения, а затем sudo systemctl restart etcd2. Вы можете проверить, правильно ли были приняты ваши изменения, в журнале etcd (он регистрирует все обнаруженные переменные env) и с помощью systemctl cat etcd2, в котором должно быть указано ваше падение.

person Rob    schedule 27.02.2017