k8smaster节点更换ip

原来的内网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 这个配置文件)
/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节点上执行生成的加入命令

原文地址:https://www.cnblogs.com/ligang0357/p/14710252.html