k8s的master更换ip后,通信问题出现了问题,我们只需要通过kubeadm init phase命令,重新生成config文件和签名文件就可以了
一,切换到/etc/kubernetes/manifests, 将etcd.yaml kube-apiserver.yaml里的ip地址替换为新的ip
替换etcd.yml文件内的str1为str2
sed -i 's/str1/str2/g' /etc/kubernetes/manifests/etcd.yaml
/etc/kubernetes/manifests # vim etcd.yaml
/etc/kubernetes/manifests # vim kube-apiserver.yaml
二,生成新的config文件
/etc/kubernetes# mv admin.conf admin.conf.bak
/etc/kubernetes# kubeadm init phase kubeconfig admin --apiserver-advertise-address
三,删除老证书,生成新证书
/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
四,重启docker
/etc/kubernetes# cd ..
/etc/