ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Kubernetes 高可用集群修改 Master IP 地址的正确姿势

2021-07-17 08:01:04  阅读:279  来源: 互联网

标签:Kubernetes IP apiserver kubelet client Master front kubeadm


经过实际验证的修改 master IP 地址的操作步骤,千真万确,错一罚十,kubernetes 版本是 v1.20.2。

折腾过程中所走的弯路是有4个ssl证书(apiserver, apiserver-kubelet-client, front-proxy-client)没有重新生成,造成修改 IP 后 kubectl 命令可以正常执行但 master 总是处于 NotReady 状态。

操作步骤如下:

1)替换 /etc/kubernetes 中与 IP 地址关联的配置

oldip=10.0.9.171
newip=172.16.16.102
cd /etc/kubernetes

find . -type f | xargs grep $oldip
find . -type f | xargs sed -i "s/$oldip/$newip/"
find . -type f | xargs grep $newip

2)修改 /etc/hosts 中涉及旧 IP 地址的解析(如果有)

vim /etc/hosts
%s/10.0.9.171/172.16.16.102

3)修改集群配置与旧 IP 地址相关的配置(advertiseAddress)

kubectl -n kube-system edit cm kubeadm-config 
%s/10.0.1.81/10.0.9.171

4)重新相关 ssl 证书

4.1)重新生成 etcd-server 证书

cd /etc/kubernetes/pki/etcd
rm server.crt server.key
kubeadm init phase certs etcd-server

4.2)重新生成 apiserver 证书

rm apiserver.crt apiserver.key
kubeadm init phase certs apiserver --control-plane-endpoint "k8s-api:6443"

4.3)重新生成 apiserver-kubelet-client 证书

rm apiserver-kubelet-client.crt apiserver-kubelet-client.key
kubeadm init phase certs apiserver-kubelet-client

4.4)重新生成 front-proxy-client 证书

rm front-proxy-client.crt front-proxy-client.key
kubeadm init phase certs front-proxy-client

5)重启 k8s 相关服务

systemctl daemon-reload && systemctl restart kubelet && systemctl restart docker

搞定!

参考资料

标签:Kubernetes,IP,apiserver,kubelet,client,Master,front,kubeadm
来源: https://www.cnblogs.com/dudu/p/15022488.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有