MicroK8sの1.32/stableの挙動が怪しい
MicroK8sのhaクラスタのノード追加を行おうとした際に色々トラブったので備忘録的にメモ
- 運用当時のクラスタのバージョンはv1.32.3
新たに追加したノードがk8s上で認識されない
MicroK8sのノードの追加は既存ノードでmicrok8s add-node
を実行し、表示されたコマンドを新規ノードで実行するだけでできる簡単仕様、のはずでした
しかし、新規ノード側でコマンドを実行し、正常に接続された旨のメッセージが表示されてもkubenetes側にノードが認識されませんでした
一応microk8s status
上ではdatastore欄に表示されていたためmicrok8s側には認識されていたようです
leave後joinする再加入を試したり、新規ノード同士で試したりもしましたがいずれもうまくいかず、検証のために既存のノードをleaveさせたところそれすら認識しなくなりました
原因はよくわかっていませんがmicrok8s add-node
を実行する既存ノードと新規ノードのバージョンを1.31/stable(v1.31.7)に下げたところ無事認識されるようになりました
1.31/1.32にが共存すると1.32のノードが落ちる
上記対応をして1.31と1.32のノードが共存するようになると、急に1.32を実行するノードがNotReady
状態になるようになりました
具体的にはKubelet
が停止しているというエラーでした
Conditions:
Type Status LastHeartbeatTime LastTransitionTime Reason Message
---- ------ ----------------- ------------------ ------ -------
NetworkUnavailable False Mon, 21 Apr 2025 19:16:46 +0900 Mon, 21 Apr 2025 19:16:46 +0900 CalicoIsUp Calico is running on this node
MemoryPressure Unknown Wed, 23 Apr 2025 02:50:21 +0900 Wed, 23 Apr 2025 02:52:21 +0900 NodeStatusUnknown Kubelet stopped posting node status.
DiskPressure Unknown Wed, 23 Apr 2025 02:50:21 +0900 Wed, 23 Apr 2025 02:52:21 +0900 NodeStatusUnknown Kubelet stopped posting node status.
PIDPressure Unknown Wed, 23 Apr 2025 02:50:21 +0900 Wed, 23 Apr 2025 02:52:21 +0900 NodeStatusUnknown Kubelet stopped posting node status.
Ready Unknown Wed, 23 Apr 2025 02:50:21 +0900 Wed, 23 Apr 2025 02:52:21 +0900 NodeStatusUnknown Kubelet stopped posting node status.
が、関連する情報が見つからなかったため、残るすべてのノードを1.31に下げることで対応しました
microk8s resetが出来ない
これは1.32に限った話ではないかもしれませんが、microk8s leave
の後にmicrok8s reset
が実行できないことがあります
この場合は、snap remove microk8s --purge
、snap install microk8s --classic --channel=1.31/stable
で再インストールすることで対応しました
Discussion