x**3な人生

基本的にはメモ

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 ...を実行する。

以上