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