执行以下步骤可解决,不知道具体哪步是关键

1 首先在子节点查看日志

sudo journalctl -u kubelet -n 100 --no-pager

2 kubeadm init

3 kubeadm init --kubernetes-version v1.21.6

4 sudo kubeadm reset

5 kubeadm init --kubernetes-version v1.21.6 

若卡住不动,执行kubeadm init --kubernetes-version v1.21.6 --image-repository=registry.aliyuncs.com/google_containers

6 master查看node节点还是NotReady, 执行kubectl describe node k8snode2,发现报错 kubelet is stop posting ready status,应该是kubelet没启动

7 在子节点执行systemctl start kubelet启动kubelet,在执行systemctl status  kubelet 显示已经runnning;此时在master查看node还是NotReady;

8 删除子节点重新添加:

 首先在master节点执行

 kubectl drain <node name> --delete-local-data --force --ignore-daemonsets;

kubectl delete node <node name>

清空init配置,需要删除的节点上执行

kubeadm reset

此时查看子节点docker容器已被删除(docker ps)

再执行添加节点操作:

kubeadm join 172.16.103.235:6443 --token 7hby0i.h5xgn4ay9p97xyis --discovery-token-ca-cert-hash sha256:78a9c1cb0d87982cd3b59ec6bc2418126f14cd8499e925b55e437f609448de98

此时在master节点再次查询kubectl get node,显示成功节点准备就绪

Logo

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

更多推荐