Ошибка при загрузке кластера etcd с использованием обнаружения DNS + Консул - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь загрузить кластер etcd, используя обнаружение DNS. Я полагаюсь на Consul для обновления записи DNS.

Вот что я делаю:

etcd \
--name kubemaster-1 \
--discovery-srv k8s-cluster.etcd-registration.service.mydatacenter.consul \
--initial-advertise-peer-urls http://kubemaster-1.node.mydatacenter.consul:2380 \
--initial-cluster-token etcd-cluster-1 \
--initial-cluster-state new \
--advertise-client-urls http://kubemaster-1.node.mydatacenter.consul:2379 \
--listen-client-urls http://172.16.8.118:2379 \
--listen-peer-urls http://172.16.8.118:2380

DNS, кажется, правильно настроен:

dig +noall +answer SRV _etcd-server._tcp.k8s-cluster.etcd-registration.service.mydatacenter.consul
_etcd-server._tcp.k8s-cluster.etcd-registration.service.mydatacenter.consul. 0 IN SRV   1 1 2379 kubemaster-3.node.mydatacenter.consul.
_etcd-server._tcp.k8s-cluster.etcd-registration.service.mydatacenter.consul. 0 IN SRV   1 1 2379 kubemaster-1.node.mydatacenter.consul.
_etcd-server._tcp.k8s-cluster.etcd-registration.service.mydatacenter.consul. 0 IN SRV   1 1 2379 kubemaster-2.node.mydatacenter.consul.

Для информации узел также правильно разрешен:

root@kubemaster-1:/tmp#dig +short kubemaster-1.node.mydatacenter.consul
172.16.8.118
root@kubemaster-1:/tmp#

Но я получил следующую ошибку:

root@kubemaster-1:/tmp# etcd --name kubemaster-1 \
> --discovery-srv k8s-cluster.etcd-registration.service.mydatacenter.consul \
> --initial-advertise-peer-urls http://kubemaster-1.node.mydatacenter.consul:2380 \
> --initial-cluster-token etcd-cluster-1 \
> --initial-cluster-state new \
> --advertise-client-urls http://kubemaster-1.node.mydatacenter.consul:2379 \
> --listen-client-urls http://172.16.8.118:2379 \
> --listen-peer-urls http://172.16.8.118:2380
2019-01-09 12:33:14.220716 I | etcdmain: etcd Version: 3.3.9
2019-01-09 12:33:14.220751 I | etcdmain: Git SHA: fca8add78
2019-01-09 12:33:14.220758 I | etcdmain: Go Version: go1.10.3
2019-01-09 12:33:14.220770 I | etcdmain: Go OS/Arch: linux/amd64
2019-01-09 12:33:14.220780 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2
2019-01-09 12:33:14.220792 W | etcdmain: no data-dir provided, using default data-dir ./kubemaster-1.etcd
2019-01-09 12:33:14.220838 I | embed: listening for peers on http://172.16.8.118:2380
2019-01-09 12:33:14.220867 I | embed: listening for client requests on 172.16.8.118:2379
2019-01-09 12:33:14.236017 N | embed: got bootstrap from DNS for etcd-server at 0=https://kubemaster-2.node.mydatacenter.consul:2379
2019-01-09 12:33:14.236033 N | embed: got bootstrap from DNS for etcd-server at 1=https://kubemaster-3.node.mydatacenter.consul:2379
2019-01-09 12:33:14.236048 N | embed: got bootstrap from DNS for etcd-server at 2=https://kubemaster-1.node.mydatacenter.consul:2379
2019-01-09 12:33:14.236069 N | embed: got bootstrap from DNS for etcd-server at 3=http://kubemaster-2.node.mydatacenter.consul:2379
2019-01-09 12:33:14.236080 N | embed: got bootstrap from DNS for etcd-server at 4=http://kubemaster-3.node.mydatacenter.consul:2379
2019-01-09 12:33:14.236089 N | embed: got bootstrap from DNS for etcd-server at 5=http://kubemaster-1.node.mydatacenter.consul:2379
2019-01-09 12:33:14.236162 C | etcdmain: error setting up initial cluster: cannot find local etcd member "kubemaster-1" in SRV records

Я думаю, что-то пропустил, но не могу что.

Есть идеи?

Спасибо, Рено

1 Ответ

0 голосов
/ 09 января 2019

Я выяснил проблему, допустил ошибку при регистрации службы в консуле. Я настраиваю порт 2379 вместо 2380.

...