在初始化K8S时候,遇到以下错误
Unfortunately, an error has occurred:
timed out waiting for the condition
This error is likely caused by:
- The kubelet is not running
- The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)
If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
- 'systemctl status kubelet'
- 'journalctl -xeu kubelet'
Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI.
Here is one example how you may list all Kubernetes containers running in docker:
- 'docker ps -a | grep kube | grep -v pause'
Once you have found the failing container, you can inspect its logs with:
- 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster
To see the stack trace of this error execute with --v=5 or higher
E0815 14:16:57.735202 68860 kubelet.go:2461] "Error getting node" err="node \"k8smaster\" not found"
服务虽然启动着,但是节点没有被发现
排查过主机名配置的没问题,hosts文件配置也没问题
最后发现是,初始化的 --apiserver-advertise-address 集群master地址 配置的和主机的IP不一致才导致初始化异常报错
将集群master地址与主机IP地址改为一致的地址
然后重置kubeadm并重新加载kubelet服务
当前master节点重置kubeadm
kubeadm reset -f
重新加载kubelet服务
systemctl daemon-reload && systemctl restart kubelet