手当たり次第に書くんだ

飽きっぽいのは本能

Kubernetes クラスタの初期化 – kubeadm reset の基本

kubeadm で構築した Kubernetes クラスタを初期化する手順です。ただし、kubeadm reset はサーバーを完全に初期状態へ戻すコマンドではありません。再構築や検証のやり直しで使う操作として、何が戻り、何が残るのかを切り分けて扱います。

この記事の位置づけ

この記事は、kubeadm で構築したクラスタを作り直す場合の初期化手順を扱います。目的は、reset を万能な掃除コマンドとして使うことではなく、クラスタ再構築の入口として必要な状態を確認することです。

参考書籍

実行前に決めること

本番に近い環境では、reset を実行する前に、そのノードを再参加させるのか、クラスタから完全に外すのか、クリーンインストールへ進むのかを決めておきます。特に control plane ノードでは、etcd、証明書、kubeconfig、CNI、ロードバランサー側の向き先が関係するため、単独のコマンドだけで判断しない方が安全です。

  • クラスタを残したままノードだけ外すのかを確認する
  • 作業対象が control plane か worker node かを分ける
  • CNI、iptables / nftables、コンテナランタイム側に残る状態を想定する
  • 再参加させる場合は join 用の token、証明書、controlPlaneEndpoint を確認する

kubeadm reset の位置づけ

kubeadm reset は kubeadm が作成したクラスタ設定を初期化するためのコマンドです。ただし、CNI 設定、iptables / nftables、コンテナランタイム、kubeconfig、ホスト側に残したファイルまで完全に戻すわけではありません。

Control plane 側の作業

kubectl drain <worker-node> --ignore-daemonsets --delete-emptydir-data --force
kubectl delete node <worker-node>
sudo kubeadm reset

Worker node 側の作業

sudo kubeadm reset
sudo rm -rf /etc/cni/net.d
sudo rm -rf $HOME/.kube

残ることがある設定

  • CNI 設定ファイル。
  • iptables / nftables のルール。
  • コンテナランタイム上のコンテナやイメージ。
  • kubeconfig。
  • ホスト側に作成した証明書や manifest。

確認

sudo crictl ps -a
sudo iptables -S | head
ip addr
ls -la /etc/kubernetes

まとめ

kubeadm reset は便利ですが、クラスタに関係するすべての OS 設定を完全に巻き戻すわけではありません。作り直し前提なら、CNI、iptables、kubeconfig、ランタイムの状態も合わせて確認します。

関連する記事

次に進む

Kubernetes クラスタの初期化 – kubeadm reset の基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る