背景
公司产品基于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

  1. 修改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;
  2. 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

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐