k8s节点修改ip

962 阅读1分钟

Tips:

  • 环境为CentOS 7.x
  • 测试版本为1.14和1.16的kubernets
  • 单节点ip变更,更新master信息
  • 集群多台机器修改ip略有不同

一、切换到/etc/kubernetes/manifests, 将etcd.yaml kube-apiserver.yaml里的ip地址替换为新的ip

/etc/kubernetes/manifests# vim etcd.yaml
/etc/kubernetes/manifests# vim kube-apiserver.yaml

二、备份旧证书,生成新证书

# 备份apiserver和front-proxy前缀的key和crt文件
/etc/kubernetes# cd pki
/etc/kubernetes/pki# mv *.key *.key.bak
/etc/kubernetes/pki# mv *.crt *.crt.bak
# 生成新证书
/etc/kubernetes/pki# kubeadm init phase certs all

三、生成新的config文件

# 备份所有旧的conf文件,编辑修改旧的conf文件不起作用,原因是conf文件的certificate-authority-data和client-certificate-data需要重新生成
/etc/kubernetes# mv *.conf *.conf.bak
# 重新生成全部conf文件
/etc/kubernetes# kubeadm init phase kubeconfig all

四、重启服务

/etc/kubernetes# cd ..
/etc/kubernetes# systemctl restart docker
/etc/kubernetes# systemctl restart kubelet
# 删除旧的pod,或通过修改旧的pod的replicas
kubectl delete pod xxx -n namespace 
或
# 先修改为0 在修改为1或原来的数量
kubectl scale deploy deployName -n namespace --replicas=0