k8s的master更换ip后,通信问题出现了问题,我们只需要通过kubeadm init phase命令,重新生成config文件和签名文件就可以了。操作如下:
一,生成新的config文件
/etc/kubernetes# mv admin.conf admin.conf.bak
/etc/kubernetes# kubeadm init phase kubeconfig admin --apiserver-advertise-address <新的ip>
# 二,删除老证书,生成新证书
/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 --apiserver-advertise-address <新的ip>
# 三,重启docker
/etc/kubernetes/pki# server docker restart
/etc/kubernetes/pki# service kubelet restart
# 四,将配置文件config输出
/etc/kubernetes#kubectl get pods --kubeconfig=admin.conf # 此时已经是通信成功了
/etc/kubernetes#sz admin.conf
原文地址:https://www.cnblogs.com/chaojiyingxiong/p/12106590.html