blog/content/posts/2025-07-10/index.md

49 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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