原来的内网IP是 192.168.192.161 更换为 192.168.10.21
一,处理master节点
1,备份 /etc/kubernetes 批量替换
cp -a /etc/kubernetes /etc/kubernetes.bak
sed -i "s/192.168.192.161/192.168.10.21/g" `grep 192.168.192.161 -rl /etc/kubernetes/`
2,生成新的config文件(注意我这里因为是kuboard 安装的 所以有 /root/kubeadm-config.yaml 这个配置文件)
/etc/kubernetes# mv admin.conf admin.conf.bak /etc/kubernetes# kubeadm init phase kubeconfig admin --config=/root/kubeadm-config.yaml
3,删除老证书,生成新证书(注意我这里因为是kuboard 安装的 所以有 /root/kubeadm-config.yaml 这个配置文件)
4,重启docker
/etc/kubernetes# cd pki /etc/kubernetes/pki# mv apiserver.key apiserver.key.bak /etc/kubernetes/pki# mv apiserver.crt apiserver.crt.bak /etc/kubernetes/pki# kubeadm init phase certs apiserver --config=/root/kubeadm-config.yaml
4,重启docker
/etc/kubernetes# cd ..
/etc/kubernetes# service docker restart
/etc/kubernetes# service kubelet restart
5,将配置文件config输出
/etc/kubernetes#kubectl get nodes --kubeconfig=admin.conf # 此时已经是通信成功了
6,将kubeconfig默认配置文件替换为admin.conf,这样就可以直接使用kubectl get nodes
/etc/kubernetes# cp admin.conf ~/.kube/config
二,删除node节点并重新加入
1,在master上执行删除节点
kubectl drain k8s-node1 --delete-local-data --force --ignore-daemonset
kubectl delete node k8s-node1
2,在node节点上执行重置操作
kubeadm reset -f
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
systemctl restart kubelet
systemctl restart docker
3,在master上生成加入命令
kubeadm token create --print-join-command
4,在node节点上执行生成的加入命令