--- 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