kubernetesを再セットアップしたときのメモ
はじめに
ここで構築した環境をresetして再度initしたときのメモ。 verdigrisbrain.hatenablog.com
内容
master
まずメモリのswapを無効にしておく。
$ sudo swapoff -a
flannelのインターフェースが残っているとpodを起動したときにreadyにならなくなるため、ここのやり方に従ってあらかじめ消しておく。
https://stackoverflow.com/questions/46276796/kubernetes-cannot-cleanup-flannel
なおifconfig
ではなくip
を使う場合は、ip link delete
に置き換える。あと自分の環境にはcni0
は無かったのでflannel.1
だけ削除したが、
特に問題なく再起動できた。
kubeadmからresetとinitを実行する。
$ sudo kubeadm reset
$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16
このコマンドを実行後、後でslaveで実行するためのコマンドが表示されるのでメモしておく。
kubeadm join [IP addr]:6443 --token [token] \ --discovery-token-ca-cert-hash [hash]
忘れずにコンフィグを$HOME/.kube
にコピーする。
$ sudo cp -f /etc/kubernetes/admin.conf .kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
最後にflannelをデプロイしてノード間で通信できるようにする。
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
slave
masterと同じくflannelのインターフェースを削除してkubeadm reset
した後、先程のkubeadm join ...
を実行する。
以上