k8s的master更換ip


k8s的master更換ip后,通信問題出現了問題,我們只需要通過kubeadm init phase命令,重新生成config文件和簽名文件就可以了。操作如下:
 

一,切換到/etc/kubernetes/manifests, 將etcd.yaml  kube-apiserver.yaml里的ip地址替換為新的ip

/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 <新的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# cd ..
/etc/kubernetes# service docker restart
/etc/kubernetes# service kubelet restart

 

五,將配置文件config輸出
/etc/kubernetes#kubectl get nodes --kubeconfig=admin.conf  #  此時已經是通信成功了
/etc/kubernetes#sz admin.conf

 六,將kubeconfig默認配置文件替換為admin.conf,這樣就可以直接使用kubectl get nodes

/etc/kubernetes# mv admin.conf ~/.kube/config

 

 

 

 

admin.conf配置到訪問的機器上,就可以通過api訪問這台k8s機器了。

 

參考文檔:https://tomcat1009.coding.me/hexo/post/2019121102/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM