单节点Kind集群创建正常,多节点集群创建失败原因咨询
问题原因解析
单节点与多节点集群的核心差异
单节点Kind集群里,控制平面节点同时兼任worker角色,整个集群初始化只需要执行kubeadm init,不需要worker节点执行kubeadm join步骤,直接绕开了多节点场景下的容器运行时(CRI)配置校验环节。
K8s 1.24+ 移除dockershim的影响
K8s 1.24正式移除dockershim后,默认使用containerd作为容器运行时。多节点创建失败的核心原因是:
- worker节点启动时,kubelet未正确配置为使用containerd,仍尝试调用已移除的dockershim接口,导致kubelet启动失败(退出码1,进入自动重启循环)。
kubeadm join依赖正常运行的kubelet完成节点注册,kubelet故障直接导致join操作超时失败。
单节点未触发问题的原因
单节点初始化过程中,Kind会自动完成kubelet与containerd的绑定配置,且不需要跨节点的join操作,哪怕环境里有docker相关残留配置,也不会影响单节点集群的启动。
内容的提问来源于stack exchange,提问作者Richard Rublev
相关产品推荐
相关产品推荐

