Как исправить ошибку конфигурации кластера etcd
Есть два сервера: pg1: 10.80.80.195
а также pg2: 10.80.80.196
Версия etcd:
etcd Version: 3.2.0
Git SHA: 66722b1
Go Version: go1.8.3
Go OS/Arch: linux/amd64
Я пытаюсь бежать так:
сервер pg1:
etcd --name infra0 --initial-advertise-peer-urls http://10.80.80.195:2380 --listen-peer-urls http://10.80.80.195:2380 --listen-client-urls http://10.80.80.195:2379,http://127.0.0.1:2379 --advertise-client-urls http://10.80.80.195:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://10.80.80.195:2380,infra1=http://10.80.80.196:2380 --initial-cluster-state new
сервер pg2:
etcd --name infra1 --initial-advertise-peer-urls http://10.80.80.196:2380 --listen-peer-urls http://10.80.80.196:2380 --listen-client-urls http://10.80.80.196:2379,http://127.0.0.1:2379 --advertise-client-urls http://10.80.80.196:2379 --initial-cluster-token etcd-cluster-1 --initial-cluster infra0=http://10.80.80.195:2380,infra1=http://10.80.80.196:2380 --initial-cluster-state new
При попытке проверить состояние здоровья на pg1
:
etcdctl cluster-health
есть ошибка:
cluster may be unhealthy: failed to list members
Error: client: etcd cluster is unavailable or misconfigured; error #0: client: endpoint http://127.0.0.1:2379 exceeded header timeout
; error #1: dial tcp 127.0.0.1:4001: getsockopt: connection refused
error #0: client: endpoint http://127.0.0.1:2379 exceeded header timeout
error #1: dial tcp 127.0.0.1:4001: getsockopt: connection refused
Что я делаю не так и как это исправить? Оба сервера работают на виртуальных машинах с мостовым адаптером
1 ответ
У меня похожая ошибка при настройке кластеров etcd с использованием systemd в соответствии с официальным руководством от kubernetes.
Это три цента 7 средних экземпляров на AWS. Я уверен, что группы безопасности верны. И я просто:
$ systemctl restart network
и
$ etcdctl cluster-health
просто дает здоровый результат.