Новый мастер с новым томом etcd не включается в кластер - PullRequest
0 голосов
/ 03 октября 2018

Я использую KOPS, и у меня есть кластер с 3 мастерами.Я удалил один мастер и диски (корневой диск и диски etcd (основной и события)).

Теперь копы воссоздали этот мастер и диски, но этот новый мастер узел не может присоединиться к кластеру.Сообщение об ошибке на kube-apiserver:

controller.go:135] Unable to perform initial IP allocation check: unable to refresh the service IP block: client: etcd cluster is unavailable or misconfigured; error #0: dial tcp 127.0.0.1:4001: getsockopt: connection refused

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Проблема решена.

1 - Я удалил старого мастера из кластера de etcd с помощью etcdctl.Для этого вам необходимо подключиться к контейнеру etcd-server.

2 - На новом главном узле я остановил службы kubelet и protokube.

3 - Пустой каталог данных Etcd.(данные и события данных)

4 - Изменить /etc/kubernetes/manifests/etcd.manifests и etcd-events.manifest, изменив ETCD_INITIAL_CLUSTER_STATE с нового на существующий.

5 - Получить имяи PeerURLS от нового мастера и используйте etcdctl для добавления нового мастера в кластер.(etcdctl member add "name" "PeerULR") Для этого вам необходимо подключиться к контейнеру etcd-server.

6 - Запустить службы kubelet и protokube на новом главном сервере.

0 голосов
/ 03 октября 2018

Похоже, ваш etcd сервер не работает на этом хосте.Возможно, он не смог синхронизироваться с etcd серверами других мастеров.

Вы можете проверить следующим образом:

$ sudo docker ps | grep etcd

Если вы ничего не видите, значит, он не работает,Затем вы можете проверить журналы для «Exited» контейнера etcd:

$ sudo docker ps -a | grep Exited | grep etcd
$ sudo docker logs <etcd-container-id>

Также убедитесь, что параметры вашего kube-apiserver для etcd выглядят нормально при /etc/kuberbetes/manifests/kube-apiserver.yaml

...