5.4.5. etcd 호스트 제거
복원 후 etcd 호스트에 장애가 발생하면 클러스터에서 제거하십시오.
모든 마스터 호스트에서 수행할 단계
프로시저
etcd 클러스터에서 서로 다른 etcd 호스트를 제거하십시오. 각 etcd 노드에 대해 다음 명령을 실행하십시오.
etcdctl3 --endpoints=https://<surviving host IP>:2379
# etcdctl3 --endpoints=https://<surviving host IP>:2379 --cacert=/etc/etcd/ca.crt --cert=/etc/etcd/peer.crt --key=/etc/etcd/peer.key member remove <failed member ID>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 마스터에서 마스터 API 서비스를 다시 시작하십시오.
master-restart api restart-master controller
# master-restart api restart-master controller
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
현재 etcd 클러스터에서 수행할 단계
프로시저
클러스터에서 실패한 호스트를 제거하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
remove
명령에는 호스트 이름이 아니라 etcd ID가 필요합니다.
etcd 서비스를 다시 시작할 때 etcd 구성이 실패한 호스트를 사용하지 않게 하려면 나머지 모든 etcd 호스트에서
/etc/etcd/etcd.conf
파일을 수정하고ETCD_INITIAL_CLUSTER
변수의 값에서 실패한 호스트를 제거하십시오.vi /etc/etcd/etcd.conf
# vi /etc/etcd/etcd.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
ETCD_INITIAL_CLUSTER=master-0.example.com=https://192.168.55.8:2380,master-1.example.com=https://192.168.55.12:2380,master-2.example.com=https://192.168.55.13:2380
ETCD_INITIAL_CLUSTER=master-0.example.com=https://192.168.55.8:2380,master-1.example.com=https://192.168.55.12:2380,master-2.example.com=https://192.168.55.13:2380
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이는 다음이 됩니다.
ETCD_INITIAL_CLUSTER=master-0.example.com=https://192.168.55.8:2380,master-1.example.com=https://192.168.55.12:2380
ETCD_INITIAL_CLUSTER=master-0.example.com=https://192.168.55.8:2380,master-1.example.com=https://192.168.55.12:2380
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고실패한 호스트는
etcdctl
을 사용하여 제거되므로 etcd 서비스를 다시 시작할 필요가 없습니다.클러스터의 현재 상태를 반영하고 플레이북을 다시 실행할 때 문제가 발생하지 않도록 Ansible 인벤토리 파일을 수정하십시오.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Flannel을 사용하는 경우 모든 호스트에서
/etc/sysconfig/flanneld
에 있는flanneld
서비스 구성을 수정하고 etcd 호스트를 제거하십시오.FLANNEL_ETCD_ENDPOINTS=https://master-0.example.com:2379,https://master-1.example.com:2379,https://master-2.example.com:2379
FLANNEL_ETCD_ENDPOINTS=https://master-0.example.com:2379,https://master-1.example.com:2379,https://master-2.example.com:2379
Copy to Clipboard Copied! Toggle word wrap Toggle overflow flanneld
서비스를 다시 시작하십시오.systemctl restart flanneld.service
# systemctl restart flanneld.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow