重置K8S集群
K8s集群IP改变后,这里介绍使用集群重置的方法进行集群IP更改
·
修改k8s集群IP
master节点
1.备份 /etc/kubernetes
目录。
cp -Rf /etc/kubernetes/ /etc/kubernetes-bak
2.替换 /etc/kubernetes
中所有配置文件的 APIServer 地址。
[root@master ~]# cd /etc/kubernetes
[root@master etc]# oldip=192.168.60.128
[root@master etc]# newip=192.168.80.128
# 查看之前的
[root@master kubernetes]# find . -type f | xargs grep $oldip
# 替换IP地址
[root@master kubernetes]# find . -type f | xargs sed -i "s/$oldip/$newip/"
# 检查更新后的
[root@master kubernetes]# find . -type f | xargs grep $newip
3.修改$HOME/.kube/config文件,同样将旧的IP地址修改为新的IP地址.
vim $HOME/.kube/config
4.$HOME/.kube/cache/discovery/这里应该有个子文件夹名字是“旧IP地址_6443”(如127.0.0.1_6443),把这个文件夹名字里的IP改成你新IP
[root@master discovery]# cd $HOME/.kube/cache/discovery/
[root@master discovery]# ll
总用量 4
drwxr-x--- 22 root root 4096 9月 2 15:55 192.168.80.128_6443
5.备份旧证书。
[root@master pki]# cd /etc/kubernetes/pki
[root@master pki]# mv /etc/kubernetes/pki/apiserver.key /etc/kubernetes/pki/apiserver.key.old
[root@master pki]# mv /etc/kubernetes/pki/apiserver.crt /etc/kubernetes/pki/apiserver.crt.old
[root@master pki]# mv /etc/kubernetes/pki/apiserver-kubelet-client.crt /etc/kubernetes/pki/apiserver-kubelet-client.crt.old
[root@master pki]# mv /etc/kubernetes/pki/apiserver-kubelet-client.key /etc/kubernetes/pki/apiserver-kubelet-client.key.old
[root@master pki]# mv /etc/kubernetes/pki/front-proxy-client.crt /etc/kubernetes/pki/front-proxy-client.crt.old
[root@master pki]# mv /etc/kubernetes/pki/front-proxy-client.key /etc/kubernetes/pki/front-proxy-client.key.old
6.如果是使用yaml文件进行集群初始化的,则需要修改你的kubeadm-config.yaml配置文件中的IP地址。
7.使用 kubeadm reset
运行这条命令将会还原当前节点上 kubeadm init 或者 kubeadm join 所做的所有更改。且如果使用外部 etcd,kubeadm reset 将不会删除任何 etcd 数据。这意味着如果再次使用相同的 etcd 节点运行 kubeadm init,你将看到以前的集群状态。
8.重新初始化集群
kubeadm init \
--kubernetes-version=v1.22.12 \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 \
--apiserver-advertise-address=192.168.80.128
记录下token
node节点
1.node节点执行 kubeadm reset
2.node节点加入集群
kubeadm join 192.168.80.128:6443 --token m5v4zr.m7rxxz847wn6coeg \
--discovery-token-ca-cert-hash sha256:672626ee5f1329244e6589e0795dedb40c11b4bf92676544b8f469d535fe0c5f
3.查看集群状态 如果集群状态为NotReady,配置网络插件.重新应用一下 kubectl apply -f kube-flannel.yml
kubectl get node
集群状态 如果集群状态为NotReady,配置网络插件.重新应用一下 kubectl apply -f kube-flannel.yml
kubectl get node
集群重置之后,所有运行的资源都将会重置。
参考连接:k8s集群更改IP的相关问题解决
更多推荐
已为社区贡献2条内容
所有评论(0)