kubernetes: The connection to the server apiserver.vonedao:6443 was refused--k8s集群服务器ip更换后如何恢复

k8s集群服务器ip更换后如何恢复--基本就是重置集群

因机房搬迁原因,k8s集群的机器ip要进行更换。更换情况如下:

新ip 旧ip
10.10.3.85 10.10.4.85
10.10.3.86 10.10.4.86
10.10.3.87 10.10.4.86
10.10.3.91 10.10.4.88

恢复过程

修改/etc/hosts


一一对应将主机hosts进行修改。

重启虚拟机

分析问题




journalctl -xeu kubelet


解决问题

将k8s重新安装部署集群。然后将k8s平台上的pod进行恢复。

初始化变量(3.85上执行)

export POD_SUBNET=10.100.0.1/16
export APISERVER_NAME=apiserver.vonedao

添加docker仓库(3.85上执行)

 cat /etc/docker/daemon.json 
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ],
 "registry-mirrors" : ["https://q5bf287q.mirror.aliyuncs.com", "https://registry.docker-cn.com","http://hub-mirror.c.163.com"],
 "exec-opts": ["native.cgroupdriver=systemd"]
}

重启docker(3.85上执行)

systemctl daemon-reload
systemctl restart docker

执行安装k8s脚本(3.85上执行)

curl -sSL https://kuboard.cn/install-script/v1.18.x/init_master.sh | sh -s 1.18.6


检查

增加k8s的worker节点(3.86上执行)


使用kubeadm reset -f清理之前的配置

再次加入:

按照提示,将文件状态改为1:
echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables
再次执行加入集群命令:

成功了。

其他worker节点执行加入集群的方式(3.87和3.91)

kubeadm reset -f
echo "1" >/proc/sys/net/bridge/bridge-nf-call-iptables
kubeadm join apiserver.vonedao:6443 --token ydkcxi.kpwd0i5p4xsooi9r --discovery-token-ca-cert-hash sha256:59cb39662742c328d6ba1039144298db13026d9164f333122363a24aad2e342e

检查集群(3.85上执行)

kubectl get nodes

恢复k8s集群上的容器

posted @ 2022-02-22 17:35  邹姣姣  阅读(494)  评论(0编辑  收藏  举报