k8s修改集群IP--不重置集群

本文介绍如何在客户环境中高效部署K8s集群,包括修改节点IP、hosts配置,更新master节点配置,重新生成证书,以及必要的网络配置和验证步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

公司产品基于k8s开发,到客户现场部署成为费时费力的工作,从安装机器、部署集群环境、安装k8s、拉取应用镜像、启动应用等;中间有任何一个环节出问题,都会导致最终应用跑不起来;为了减轻部署人员工作量,缩短部署时间,还是回到了虚拟机的老路上;k8s的节点部署为虚拟机,调试好后,导出为虚拟机镜像,到客户环境导入启动即可;大大降低工作量,缩减部署时间,降低部署人员技术门槛;

问题

客户环境部署集群后,一般需要修改k8s各个节点的IP地址为客户环境的IP,

本文命令执行环境:CentOS 7.7

1. 修改各机器IP地址,以及hosts

cd /etc/sysconfig/network-scripts
vi ifcfg-ens192  # 具体修改哪个文件以实际网卡为准

具体修改这里不再详述,修改完成后,重启网络,并修改hosts;

systemctl restart network #重启网卡
vi /etc/hosts #修改hosts中ip地址

修改成功后,ping baidu.com以及pnig k8s-master可以ping通,k8s-master为当前hostname;

集群中各个节点,都要按照以上逻辑进行修改;修改完后,节点间可通过hostname互ping

2. 修改master节点config中的IP地址

  • 修改/etc/kubernetes/文件夹下的*.conf文件,把这些文件中有旧IP的地方全都替换成新IP;
  • 修改/etc/kubernetes/manifests文件夹里的etcd.yamlkube-apiserver.yaml,替换旧IP;
  • 修改$HOME/.kube/config文件,操作同上;
  • 进入$HOME/.kube/cache/discovery/,这里应该有个子文件夹名字是“你的.旧.IP.地址_6443”(如127.0.0.1_6443),把这个文件夹名字里的IP改成新IP;

3. master节点重新生成证书

  • 备份原有证书
cd /etc/kubernetes/pki
mv apiserver.key apiserver.key.bak
mv apiserver.crt apiserver.crt.bak
  • 生成新证书
kubeadm init phase certs apiserver  --apiserver-advertise-address <新IP>

证书生成完毕后,重启master节点即可;

附:

  1. 查看集群情况:kubectl get pod -n kube-system
  2. 查看kubelet情况:systemctl status kubelet -l
  3. 查看kubelet系统日志:journalctl -xefu kubelet
  4. docker ps 查看容器启动情况
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰汁菠萝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值