ETCDが起動しない-タイムアウトの問題

問題の背景:

現在、3つのetcdノードが展開されており、突然3つのクラスターすべての電源が切れて1日ダウンしました。再起動後、K8Sクラスターは正常に使用できることがわかりましたが、コンポーネントを確認したところ、1つのノードのetcdを起動できないことがわかりました。
調査の結果、時刻が不正確であることが判明しました。次のコマンドntpdate ntp.aliyun.comを使用して時刻を再度調整し、etcdを再起動しても起動できない場合、エラーは次のように報告されます:
Mar 05 14:27 :15 k8s-node2 etcd [3248]:etcdバージョン:3.3.13
Mar 05 14:27:15 k8s-node2 etcd [3248]:Git SHA:98d3084
Mar 05 14:27:15 k8s-node2 etcd [3248]: Goバージョン:go1.10.8
Mar 05 14:27:15 k8s-node2 etcd [3248]:Go OS / Arch:linux / amd64
Mar 05 14:27:15 k8s-node2 etcd [3248]:CPUの最大数を4、使用可能なCPUの総数は4
Mar 05 14:27:15 k8s-node2 etcd [3248]:サーバーはすでにメンバーとして初期化されており、etcdメンバーとして開始されてい
ます…
Mar 05 14:27:15 k8s-node2 etcd [3248]:peerTLS:cert = /opt/etcd/ssl/server.pem、key = /opt/etcd/ssl/server-key.pe
m、ca =、trusted -ca = /opt/etcd/ssl/ca.pem、client-cert-auth = false、crl-file =
Mar 05 14:27:15 k8s-node2 etcd [3248]:https://192.168でピアをリッスンしています.25.226:2380
Mar 05 14:27:15 k8s-node2 etcd [3248]:クライアントURL http://127.0.0.1:2379のスキームはHTTPであり、ピアキー/証明書
ファイルが表示されます。無視されたキー/証明書ファイル。
Mar 05 14:27:15 k8s-node2 etcd [3248]:127.0.0.1:2379でクライアントリクエストをリッスンしています
Mar 05 14:27:15 k8s-node2 etcd [3248]:192.168.25.226:2379でクライアントリクエストをリッスンしています
Mar 05 14:27:15 k8s-node2 etcd [3248]:メンバー9c166b8b7cb6ecb8はすでにブートストラップされています
Mar 05 14:27:15 k8s-node2 systemd [1]:etcd.service:メインプロセスが終了しました、code = exited、status = 1 / FAILURE
Mar 05 14:27:15 k8s-node2 systemd [1]:開始に失敗しましたEtcdサーバー。
Mar 05 14:27:15 k8s-node2 systemd [1]:ユニットetcd.serviceが失敗状態になりました。
Mar 05 14:27:15 k8s-node2 systemd [1]:etcd.serviceが失敗しました。
Mar 05 14:27:15 k8s-node2 systemd [1]:etcd.serviceが失敗しました。
Mar 05 14:27:15 k8s-node2 systemd [1]:etcd.serviceホールドオフ時間が終了し、再起動をスケジュールします。
Mar 05 14:27:15 k8s-node2 systemd [1]:Etcdサーバーを起動しています…
Mar 05 14:27:15 k8s-node2 etcd [3258]:環境変数ETCD_NAMEを認識しましたが、未使用:対応する
フラグによってシャドウされています
Mar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_DATA_DIR、ただし未使用:
対応するフラグによってシャドウされてい
ますMar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_LISTEN_PEER_URLS、ただし未使用:
対応するフラグによってシャドウされる
Mar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_LISTEN_CLIENT_URLS、ただし未使用:
対応するフラグによってシャドウされる
Mar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_INITIAL_ADVERTISE_PEER_URLS、ただし未使用
d:対応するフラグによって
シャドウイングMar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_ADVERTISE_CLIENT_URLS、ただし未使用:
対応するフラグによってシャドウイング
Mar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_INITIAL_CLUSTER、ただし未使用:
対応するフラグによってシャドウされてい
ますMar 05 14:27:15 k8s-node2 etcd [3258]:認識された環境変数ETCD_INITIAL_CLUSTER_TOKEN、ただし未使用: SHAは
、フラグ対応させdowed
環境変数ETCD_INITIAL_CLUSTER_STATEを認識したが、未使用:SHAは[3258]午後2時27分15秒K8S-NODE2 etcd 3月5日に
対応するフラグによってdowed

解決:

ログを確認して、特に明らかなエラーがないことを確認します。経験上、壊れたetcdノードはクラスターに大きな影響を与えません。現時点では、クラスターは正常に使用できますが、壊れたetcdノードは起動していません。解決策次のように:
etcdのデータストレージディレクトリを入力して、元のデータをバックアップします。cd
/var/lib/ etcd/default.etcd/member /
cp * / data / bak /
このディレクトリ内のすべてのデータファイルを削除します
rm-rf / var / lib / etcd / default.etcd / member / *
他の2つのetcdノードを停止します。etcdノードの起動時にすべてのノードを一緒に起動する必要があり、起動が成功した後に使用できるためです。
#master node
systemctl stop etcd
systemctl restart etcd

#node1节点
systemctl stop etcd
systemctl restart etcd

#node2节点
systemctl stop etcd
systemctl restart etcd

おすすめ

転載: blog.csdn.net/qq_34939308/article/details/112093470