diff --git a/content/posts/2025-07-10/index.md b/content/posts/2025-07-10/index.md new file mode 100644 index 0000000..539e26b --- /dev/null +++ b/content/posts/2025-07-10/index.md @@ -0,0 +1,49 @@ +--- +author: usbharu +draft: false +categories: + - 技術 +date: 2025-07-10T01:08:10+09:00 +tags: + - k3s + - Proxmox +keywords: + - k3s + - Proxmox +title: k3sのクラスタが大崩壊を起こしたときの復旧メモ +relpermalink: posts/2025-07-10/ +url: posts/2025-07-10/ +decription: k3sのクラスタが大崩壊を起こしたときの復旧メモ +--- + +先日k3sのクラスタが暴走(?)し、VMがハング、なぜか同時にホストマシンのProxmoxの管理画面もフリーズし、無事クラスタの大崩壊が発生しました。監視基板ごと死んだのかアラート等が一切出ずメトリクス等も消えたため、原因は不明です。 + +それはさておき、こんな構成のk3sクラスタがあります。 + +- HA構成 +- server(コントロールプレーン+Worker) 3台 +- 内2台がRyzen機 残りがN150機 +- 各k3sはProxmox上のVMに構築 + +今回はRyzen機に乗っている2つのk3sノードが死にました。残っている一つのクラスタからetcdとかをいい感じにする必要があります。 + +## k3sのetcdスナップショットからの復元 + +https://docs.k3s.io/ja/cli/etcd-snapshot + +基本的におせっかい機能しかないk3sやmicrok8sですが、今回はそれに救われました。 + + +生きているノードで以下を実行します。 + +```bash +k3s server --cluster-reset --cluster-reset-restore-path=/var/lib/rancher/k3s/server/db/snapshots/<スナップショットファイル> +``` + +とりあえずこれでk3sのetcdに関するエラーは直ると思います。 + +## k3sのクラスター復旧 + +これは普通にk3sのHA構成のときの新しいノード追加方法と同じで、serverを指定して追加していくだけです。 + +https://docs.k3s.io/ja/datastore/ha-embedded \ No newline at end of file