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.完毕

 

 

    

posted @   chenjianwen  阅读(7556)  评论(3编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示