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 controllerCopy 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.confCopy 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:2380Copy 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:2380Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記失敗したホストは
etcdctlを使用して削除されているので、etcd サービスの再起動は不要です。Ansible インベントリーファイルをクラスターの現在のステータスを反映し、Playbook の再実行時の問題を防げるように変更します。
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:2379Copy to Clipboard Copied! Toggle word wrap Toggle overflow flanneldサービスを再起動します。systemctl restart flanneld.service
# systemctl restart flanneld.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow