Etcd не может настроить кластер из-за невозможности найти локальный член etcd - PullRequest
1 голос
/ 14 апреля 2019

Я пытаюсь настроить кластер на хост-машинах Ubuntu 18.04.Я получаю следующую ошибку при использовании DNS для обнаружения сервера.

error setting up initial cluster: cannot find local etcd member "etcd-1" in SRV records

Я следовал документации и чувствую, что все сделал правильно, но яновичок в настройке локального днс (используя bind9) и не могу сказать, что я тут делаю не так.Я пытался изменить свой DNS вокруг, но не смог решить проблему.Эта проблема возникает только при попытке обнаружить локальный узел ...

Вот записи SRV для _etcd-сервера

user@etcd-1:~$ dig +noall +answer SRV _etcd-server._tcp.etcd.abc-bird.com
_etcd-server._tcp.etcd.abc-bird.com.    9 IN SRV 0 0 2380 etcd-2.etcd.abc-bird.com.
_etcd-server._tcp.etcd.abc-bird.com.    9 IN SRV 0 0 2380 etcd-3.etcd.abc-bird.com.
_etcd-server._tcp.etcd.abc-bird.com.    9 IN SRV 0 0 2380 etcd-1.etcd.abc-bird.com.

Мои записи SRV для _etcd-client-ssl

user@etcd-1:~$ dig +noall +answer SRV _etcd-client-ssl._tcp.etcd.abc-bird.com
_etcd-client-ssl._tcp.etcd.abc-bird.com. 60 IN SRV 0 0 2379 etcd-2.etcd.abc-bird.com.
_etcd-client-ssl._tcp.etcd.abc-bird.com. 60 IN SRV 0 0 2379 etcd-1.etcd.abc-bird.com.
_etcd-client-ssl._tcp.etcd.abc-bird.com. 60 IN SRV 0 0 2379 etcd-3.etcd.abc-bird.com.

Мои записи A

user@etcd-1:~$ dig +noall +answer etcd-1.etcd.abc-bird.com. etcd-2.etcd.abc-bird.com. etcd-3.etcd.abc-bird.com.
etcd-1.etcd.abc-bird.com. 35    IN  A   192.168.0.28
etcd-2.etcd.abc-bird.com. 35    IN  A   192.168.0.20
etcd-3.etcd.abc-bird.com. 35    IN  A   192.168.0.29

вот мое содержимое файла etcd.service

[Unit]
Description=ETCD  Service
After=network.target

[Service]
User=etcd
ExecStart=/usr/local/bin/etcd --data-dir=/opt/etcd/data --name=${hostname} \
  --discovery-srv etcd.${domain} \
  --initial-advertise-peer-urls=https://${hostname}.etcd.${domain}:2380 \
  --listen-peer-urls=https://0.0.0.0:2380 \
  --listen-client-urls=https://0.0.0.0:2379 \
  --peer-cert-allowed-cn=etcd.${domain} \
  --advertise-client-urls=https://${hostname}.etcd.${domain}:2379 \
  --initial-cluster-token=etcd-cluster-1 \
  --initial-cluster-state=new \
  --client-cert-auth --trusted-ca-file=/opt/etcd/ca.pem \
  --cert-file=/opt/etcd/cert.pem --key-file=/opt/etcd/key.pem \
  --peer-client-cert-auth --peer-trusted-ca-file=/opt/etcd/ca.pem \
  --peer-cert-file=/opt/etcd/cert.pem --peer-key-file=/opt/etcd/key.pem
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Журналы journalctl, содержащие ошибку

Apr 14 15:23:37 etcd-1 systemd[1]: Started ETCD  Service.
Apr 14 15:23:37 etcd-1 etcd[6918]: etcd Version: 3.3.12
Apr 14 15:23:37 etcd-1 etcd[6918]: Git SHA: d57e8b8
Apr 14 15:23:37 etcd-1 etcd[6918]: Go Version: go1.10.8
Apr 14 15:23:37 etcd-1 etcd[6918]: Go OS/Arch: linux/amd64
Apr 14 15:23:37 etcd-1 etcd[6918]: setting maximum number of CPUs to 2, total number of available CPUs is 2
Apr 14 15:23:37 etcd-1 etcd[6918]: peerTLS: cert = /opt/etcd/cert.pem, key = /opt/etcd/key.pem, ca = , trusted-ca = /opt/etcd/ca.pem, client-cert-auth = true, crl-file =
Apr 14 15:23:37 etcd-1 etcd[6918]: listening for peers on https://0.0.0.0:2380
Apr 14 15:23:37 etcd-1 etcd[6918]: listening for client requests on 0.0.0.0:2379
Apr 14 15:23:37 etcd-1 etcd[6918]: got bootstrap from DNS for etcd-server at 0=http://etcd-2.etcd.abc-bird.com:2380
Apr 14 15:23:37 etcd-1 etcd[6918]: got bootstrap from DNS for etcd-server at 1=http://etcd-3.etcd.abc-bird.com:2380
Apr 14 15:23:37 etcd-1 etcd[6918]: error setting up initial cluster: cannot find local etcd member "etcd-1" in SRV records
Apr 14 15:23:37 etcd-1 systemd[1]: etcd.service: Main process exited, code=exited, status=1/FAILURE
Apr 14 15:23:37 etcd-1 systemd[1]: etcd.service: Failed with result 'exit-code'.
Apr 14 15:23:42 etcd-1 systemd[1]: etcd.service: Service hold-off time over, scheduling restart.

Для чего это стоит, вот мой конфиг DNS на моем сервере имен.https://gist.github.com/spstratis/1e89f867d86c6b37dc15387ccd310fcc

...