У меня есть кластер 3 работ машин CoreOS Azure. Я перезагрузил два одновременно и кластер, отказавший как ожидалось.
Я должен заменить маркер исследования, облачная конфигурация читается на каждой начальной загрузке, но согласно документам CoreOS:
После того как экземпляр настраивается на Azure, облачная конфигурация не может быть изменена.
Существует ли метод для восстановления с этого, за исключением уничтожения и затем развертывания нового кластера?
Можно попробовать изменить определение сервиса etcd в /run/systemd/system/etcd.service.d/20-cloudinit.conf
- вы должны увидеть что-то вроде
[Service]
Environment="ETCD_ADDR=10.1.1.1:4001"
Environment="ETCD_DISCOVERY=https://discovery.etcd.io/47fabddb4eed191a09bf5b70ba93426a"
Environment="ETCD_PEER_ADDR=10.1.1.1:7001"
Измените URL обнаружения на ваш новый, затем перезапустите его
systemctl daemon-reload
systemctl restart etcd
Вам нужно будет проверить, пережил ли он перезагрузку на Azure!
.существует конфигурационный файл в месте
/var/lib/waagent/CustomData
Используя
sudo vim /var/lib/waagent/CustomData
Вы должны иметь возможность его отредактировать. После перезагрузки конфигурация поднимется.
.Если удалить два узла в трёх-узловом кластере, то вы теряете кворум, с тремя узлами можно потерять только один узел, подробнее об отказоустойчивости CoreOS:
Fault Tolerance Table
It is recommended to have an odd number of members in a cluster. Having an odd cluster size doesn't change the number needed for majority, but you gain a higher tolerance for failure by adding the extra member. You can see this in practice when comparing even and odd sized clusters:
Cluster Size Majority Failure Tolerance
1 1 0
3 2 1
4 3 1
5 3 2
6 4 2
7 4 3
8 5 3
9 5 4
https://coreos.com/etcd/docs/latest/admin_guide.html