之前部署k8s的时候用的dhcp自动获取ip,因为服务器常年不关,所以也没绑定静态ip
某天公司停电,导致服务器重启后我的机器也重启
原ip已经被其他机器抢占
但是k8s的各种服务配置都使用的固定老的ip
因此,就需要重新设置集群服务器的ip
最初我是手动修改的各个配置文件中旧的IP,发现不行,因为集群创建时创建了一个绑定服务器ip的证书,我们的ip发生变化后,ssl证书会报错
最后发现都不行,还是需要用kubeadm reset掉所有配置文件后重新init
root@lxt-master:~# kubeadm reset --cri-socket /var/run/cri-dockerd.sock
reset成功后
重新init,修改apiserver
kubeadm init --apiserver-advertise-address=192.168.20.126 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.26.3 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all --cri-socket /var/run/cri-dockerd.sock
执行成功
然后执行
root@lxt-master:~# mkdir -p $HOME/.kube
root@lxt-master:~# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
cp:是否覆盖'/root/.kube/config'? y
root@lxt-master:~# sudo chown $(id -u):$(id -g) $HOME/.kube/config
这个时候执行get pods还是有点问题,因为我没有指定默认的命名空间
kubectl config set contexts.context.namespace kube-system
如果重新init后查看kubelet状态中有这个报错
重新安装flannel
root@lxt-master:~# kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
namespace/kube-flannel created
serviceaccount/flannel created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created
node重新加入集群
注意要先执行kubeadm reset
标签:node,created,--,ip,master,kube,flannel From: https://www.cnblogs.com/pr1s0n/p/17577821.html