k8s集群更换ip地址(单master)
1、更换master系统ip地址
nmcli connection modify ens33
2、备份kubernetes 数据
cp -r /etc/kubernetes{,-bak}
3、更换kubernetes配置文件的ip地址
a、批量更改kubernetes下的ip地址
cd /etcsed -i "s/192.168.136.10/192.168.136.11/g" `grep 192.168.136.10 -rl kubernetes`
b、修改$HOME/.kube/config文件,ip改为最新的ip地址
c、进入$HOME/.kube/cache/discovery/,这里应该有个子文件夹名字是“你的.旧.IP.地址_6443”(如127.0.0.1_6443),把这个文件夹名字里的IP改成新IP;
4、删除之前的证书
cd /etc/kubernetes/pkimv apiserver.key apiserver.key.bakmv apiserver.crt apiserver.crt.bak
5、生成新证书
kubeadm init phase certs apiserver --apiserver-advertise-address 新IP
6、然后编辑 ConfigMap,将旧 IP 替换成新的 IP
若coredns、cluster-info如果没有IP地址,则不用替换
kubectl -n kube-system edit cm kubeadm-configkubectl -n kube-system edit cm kube-proxykubectl edit cm -n kube-system corednskubectl edit cm -n kube-public cluster-info
7、重启服务器,若kube-flannel和coredns服务出现错误,则重启该服务
例如:
kubectl delete pods -n kube-system kube-flannel-ds-g9vptkubectl delete pods -n kube-system coredns-f9fd979d6-lmq2n
8、查看k8s服务是否正常
kubectl get pods -n kube-system