0

I have a k8s cluster set up using 'hardway' a while ago. I've recently changed my network around and needed to set new IPs for the controller nodes (which are also the clustered etcd hosts).

I've updated the IP addresses in the systemd unit file, eg.

  --initial-advertise-peer-urls https://192.168.1.123:2380 \
  --listen-peer-urls https://192.168.1.123:2380 \
  --listen-client-urls https://192.168.1.123:2379,https://127.0.0.1:2379 \
  --advertise-client-urls https://192.168.1.123:2379 \
  --initial-cluster-token etcd-cluster-0 \
  --initial-cluster cont1=https://192.168.1.121:2380,cont2=https://192.168.1.122:2380,cont3=https://192.168.1.123:2380 \

And done a daemon-reload. But on starting etcd is still looking for the old IPs:

Jul 29 11:44:21 cont3.x.x.lan etcd[9626]: health check for peer 73141d4be4042663 could not connect: dial tcp 172.16.68.221:2380: i/o timeout

I'm hoping there's something under /var/lib/etcd/member/{snap/,wal} that I can delete or something to get it to start up again. I can't use etcdctl as no etcd service will start.

spoovy
  • 354
  • 4
  • 15
  • Yes, because etcd maintains an internal membership list, so you'll have to evict the old members and replace them with the new ones, as described in [the fine manual](https://github.com/etcd-io/etcd/blob/v3.4.19/Documentation/op-guide/recovery.md); you asked for the hard way, and etcd is happy to oblige :-D :sob: – mdaniel Jul 29 '22 at 20:08

0 Answers0