#dns #bind #etcd #etcd3
#dns #привязка #etcd #etcd3
Вопрос:
Я пытаюсь настроить кластер на хост-компьютерах Ubuntu 18.04. Я получаю следующую ошибку при использовании DNS для обнаружения сервера.
error setting up initial cluster: cannot find local etcd member "etcd-1" in SRV records
Я следил за документами и чувствую, что все сделал правильно, но я новичок в настройке локального dns (с использованием 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