k8s集群節點更換ip 或者 k8s集群添加新節點


 

1.需求情景:機房網絡調整,突然要回收我k8s集群上一台node節點機器的ip,並調予新的ip到這台機器上,所以有了k8s集群節點更換ip一說;同時,k8s集群節點更換ip也相當於k8s集群添加新節點,他們的操作流程是一樣的。

2.機器更換ip后發生的現象:

  (1)查看節點狀態,kubectl get node ,還是原來的節點名稱和Ready狀態,但事實上它已經不工作了;

  (2)查看集群pods,運行在已更換ip node節點的pod已處於Terminating,已無法正常工作

3.修復node節點可用性

  (1)生成新的證書,本節點涉及的變更進程有:etcd,flanneld,kubelet,kube-proxy,所以全部證書需要重新生成,執行腳本:sh k8s_ssl_create_only_one.sh

     

  (2)拷貝新的證書到各節點的ssl目錄下

  (3)修改配置文件,把涉及到變更節點ip的配置文件都要修改:sed -i 's/old_ip/new_ip/g' *

  (4)刪除變更節點下ssl證書目錄的kubelet-client-*文件:rm -rf kubelet-client-*

  (5)重新生成cfg下的*.kubeconfig文件,注意environment.sh下的token是否有所改變:sh environment.sh  【只要證書變更,都要執行一下sh environment.sh】

  (6)重啟集群各服務:

    sh k8s_master_server_restart.sh restart

    sh k8s_node_server_restart.sh restart

  (7)master審批node節點加入集群:

    kubectl get csr

    

    /usr/local/k8s/kubernetes/bin/kubectl certificate approve XXXXID  【審批加入】

  (8)查看節點:kubectl get nodes

    

    可見舊的節點還在記錄中

  (9)刪除棄用node節點:kubectl delete node NODE_NAME

    

4.完畢

 

 

    


免責聲明!

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



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