2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

kubeadmで作成したk8sクラスタをresetする時に気を付けること

Last updated at Posted at 2023-10-22

はじめに

kubeadmでk8sクラスタを作って、「クラスタ作り直したいな…」と思ったことは誰にでもあるはずです。
そこでよく出るのがkubeadm resetというコマンド。
あまたのWebサイトではこのコマンドだけでk8sクラスタを削除できるという話が書いていたり書いていなかったりするわけですが、このコマンドで削除した後、再度同じノード上でクラスタを組もうとするとエラーが発生したりします。そうです。実はkubeadm resetコマンドだけでは不足しているのです。

あくまで私の環境でではありますが、kubeadm resetからクラスタ再生成までの手順を備忘録的なノリで書いていきたいと思います。

私のk8sクラスタは以下の手順で作っております。

手順

workerノード側でまず以下を実行。
全workerでこの対応をしたら、マスター側でも同様に実行。

kubeadm reset --force
systemctl stop kubelet
rm -rf /etc/kubernetes/
rm -rf ~/.kube/
rm -rf /var/lib/kubelet/
rm -rf /var/lib/cni/
rm -rf /etc/cni/
rm -rf /var/lib/etcd/
iptables -F && iptables -X
reboot

なおこのコマンドセットは以下のサイトを参考にしています。
ありがとうございます。

再起動後、以下を実行

swapoff -a

masterで以下を実行

kubeadm init --control-plane-endpoint=k8s-master
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl cluster-info

masterで出力されたkubeadm joinコマンドをworker上で実行。
(以下はsampleコマンド)

kubeadm join k8s-master:6443 --token k3jlcm.s0qo8inmbrspbhf0 \
        --discovery-token-ca-cert-hash sha256:82f316967584a51282f500875c6b53c02b99ac4d002d1de13d656820f0c2d6da

最後にmasterで以下を実行
k8sクラスタをまっさらな状態に作り直せました。ちゃんちゃん。

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.25.0/manifests/calico.yaml
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?