kubernetes学习九:节点变更IP 发表于 2022-07-15 | 更新于: 2022-07-15 | 分类于 Kubernetes | 次阅读 字数统计: 429 | 阅读时长 ≈ 2 1 变更脚本 1234567891011121314151617181920212223242526272829303132333435363738394041#! /bin/bash# 命令格式: k8s-update-ip.sh 旧IP 新IP# 修改集群配置文件内的IPsed -i "s/$1/$2/" /etc/kubernetes/manifests/etcd.yamlsed -i "s/$1/$2/" /etc/kubernetes/manifests/kube-apiserver.yamlsed -i "s/$1/$2/" /etc/hosts# 重新生成新config# 可以逐个生成,也可以直接all,全部生成# --kubernetes-version=v1.23.3 指定集群当前版本,否则抱版本异常信息rm -rf /etc/kubernetes/*.conf# kubeadm init phase kubeconfig admin --kubernetes-version=v1.23.3 --apiserver-advertise-address $2kubeadm init phase kubeconfig all --kubernetes-version=v1.23.3 --apiserver-advertise-address $2# 重新生成证书rm -rf /etc/kubernetes/pki/apiserver*rm -rf /etc/kubernetes/pki/front-proxy-client*rm -rf /etc/kubernetes/pki/etcdkubeadm init phase certs all --kubernetes-version=v1.23.3 --apiserver-advertise-address $2# 新建/run/flannel/subnet.env# 这个文件会消失需要手动生成下,否则kubele服务报错找不到这个文件# 我集群cni网络地址段初始配置 podSubnet:110.166.10.0/16,下面配置如下修改cat > /run/flannel/subnet.env << EOFFLANNEL_NETWORK=110.166.0.0/16FLANNEL_SUBNET=110.166.0.1/24FLANNEL_MTU=1450FLANNEL_IPMASQ=trueEOF# 重启服务systemctl restart dockersystemctl restart kubelet# 验证kubectl get nodes --kubeconfig=/etc/kubernetes/admin.conf # 复制配置文件,使用户可用kubectl命令yes|cp -i /etc/kubernetes/admin.conf /home/zhaohuan/.kube/configchown zhaohuan:zhaohuan /home/zhaohuan/.kube/config 2 kube-proxy配置文件修改IP(坑)12345678910# (这里是个大坑,很多教程里面没有提到)# 不修改的話会有如下异常:flannel服务无法启动,一直报错连接api超时,kube-proxy日志报错会显示请求的api地址还是旧IP# 编辑kube-proxy的configmap配置文件,修改API地址为新的IPkubectl edit -n kube-system configmap kube-proxy# 重启服务systemctl restart dockersystemctl restart kubelet# 剩下的就OK了 参考: https://www.cnblogs.com/chaojiyingxiong/p/12047628.html https://cloud.tencent.com/developer/article/2008321 -------------本文结束感谢您的阅读------------- 坚持原创技术分享,您的支持将鼓励我继续创作! 打赏 微信支付 支付宝