修改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的相关问题解决

Logo

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

更多推荐