我想知道当我重新启动我的ubuntu机器时,我已经用法兰绒设置了kubernetes master。在重新启动之前,它工作得很好。但在重新启动后,主节点未处于就绪状态。
我尝试使用describe获取节点的详细信息。
KubeletNotReady runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized此错误显示在日志中。我搜索了一下,找到了一些解决方案,比如重新初始化flannel.yml,但没有起作用。
https://github.com/kubernetes/kubeadm/issues/1031根据此处提供的解决方案,在机器中重新安装docker。这很管用。在机器上重新安装docker后,一切工作正常。有人能解释为什么会发生这种事吗?就像我重新启动机器,然后每次我需要重新安装docker?或者有没有我遗漏的任何其他设置或配置?谢谢
发布于 2020-02-28 17:02:43
根据提供的信息,当您遇到此类问题时,有几个步骤和要点需要考虑:
第一个检查是验证/etc/cni/net.d/中是否没有缺少文件10-flannel.conflist。您应该在那里有一个包含此类信息的文件:
{
"name": "cbr0",
"cniVersion": "0.3.1",
"plugins": [
{
"type": "flannel",
"delegate": {
"hairpinMode": true,
"isDefaultGateway": true
}
},
{
"type": "portmap",
"capabilities": {
"portMappings": true
}如果您的文件放在那里,请检查是否有明确的cniVersion字段。在一些法兰绒部署中,缺少cniVersion字段。
第二个故障排除检查是检查kubelet日志。Kubelet可能会报告一些找不到cni配置的问题。可以在以下位置找到日志:/var/log/kubelet.log
同样非常有用的是检查journalctl -fu kubelet的输出,并查看那里是否发生了任何错误。在某些情况下,重新启动kubelet可能会有所帮助,您可以使用systemctl restart kubelet执行此操作
如果您怀疑docker导致了问题,您可以使用与使用journalctl -ul docker检查kukubelet日志类似的方法来检查docker日志。如果docker导致一些问题,请尝试在使用sudo systemctl restart docker.service重新安装docker服务之前重新启动docker服务
最后,创建kubeadm集群,特别是pod network section,完全遵循official documentation是非常值得的。请注意,保存所有二进制文件以防止不必要的更新是很重要的。关于kubeadm,Kubernetes也有一个非常好的troubleshoot document。
希望这能有所帮助。
https://stackoverflow.com/questions/60090030
复制相似问题