k8s修改集群IP--不重置集群
背景公司产品基于k8s开发,到客户现场部署成为费时费力的工作,从安装机器、部署集群环境、安装k8s、拉取应用镜像、启动应用等;中间有任何一个环节出问题,都会导致最终应用跑不起来;为了减轻部署人员工作量,缩短部署时间,还是回到了虚拟机的老路上;k8s的节点部署为虚拟机,调试好后,导出为虚拟机镜像,到客户环境导入启动即可;大大降低工作量,缩减部署时间,降低部署人员技术门槛;问题客户环境部署集群后,一般
背景
公司产品基于k8s开发,到客户现场部署成为费时费力的工作,从安装机器、部署集群环境、安装k8s、拉取应用镜像、启动应用等;中间有任何一个环节出问题,都会导致最终应用跑不起来;为了减轻部署人员工作量,缩短部署时间,还是回到了虚拟机的老路上;k8s的节点部署为虚拟机,调试好后,导出为虚拟机镜像,到客户环境导入启动即可;大大降低工作量,缩减部署时间,降低部署人员技术门槛;
问题
客户环境部署集群后,一般需要修改k8s各个节点的IP地址为客户环境的IP,
本文命令执行环境:CentOS 7.7
- 修改各机器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
- 修改master节点config中的IP地址
修改/etc/kubernetes/文件夹下的*.conf文件,把这些文件中有旧IP的地方全都替换成新IP;
修改/etc/kubernetes/manifests文件夹里的etcd.yaml和kube-apiserver.yaml,替换旧IP;
修改 H O M E / . k u b e / c o n f i g 文 件 , 操 作 同 上 ; 进 入 HOME/.kube/config文件,操作同上; 进入 HOME/.kube/config文件,操作同上;进入HOME/.kube/cache/discovery/,这里应该有个子文件夹名字是“你的.旧.IP.地址_6443”(如127.0.0.1_6443),把这个文件夹名字里的IP改成新IP; - 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节点即可;
附:
查看集群情况:kubectl get pod -n kube-system
查看kubelet情况:systemctl status kubelet -l
查看kubelet系统日志:journalctl -xefu kubelet
docker ps 查看容器启动情况
转载:https://www.csdn.net/tags/MtTagg5sMDk2MzEtYmxvZwO0O0OO0O0O.html
更多推荐
所有评论(0)