【问题标题】:Kubernetes worker node is in Not Ready stateKubernetes 工作节点处于未就绪状态
【发布时间】:2018-06-03 18:03:28
【问题描述】:

我对 kubernetes 比较陌生,但我之前已经成功创建了许多集群。现在我面临一个问题,我试图将节点添加到已经存在的集群中。起初 kubeadm join 似乎是成功的,但即使在初始化 pod 网络之后,也只有 master 进入就绪状态。

root@master# kubectl get nodes NAME STATUS ROLES AGE VERSION master-virtual-machine Ready master 18h v1.9.0 testnode-virtual-machine NotReady <none> 16h v1.9.0

操作系统:Ubuntu 16.04

任何帮助将不胜感激。 谢谢。

【问题讨论】:

  • kubectl describe testnode-virtual-machine 通常会在底部显示与 为什么 Node 未准备好相关的事件。但是,如果做不到这一点,SSH 进入节点并查看机器上的日志、来自 kubelet 的日志以及任何容器,可能会显示出比您迄今为止提供的更多的细节
  • 谢谢@MatthewLDaniel.. kubectl describe node testnode-virtual-machine says.. runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized. kubelet 日志说
  • W1221 12:29:59.085231 17497 cni.go:171] 无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络。怎么办?
  • 日志建议在 /etc/cni/net.d 中定义网络,但我在 /etc 下看不到任何 cni 文件夹。我还再次验证我安装了最新的 kubelet 和 kubernetes-cni。日志中还有另一个错误说 * 启动健康服务器失败:监听 tcp 127.0.0.1:10248:绑定:地址已在使用 * kubelet.go:1275] 图像垃圾收集失败一次。 Stats 初始化可能尚未完成:未能获取 imageFs 信息:无法找到容器的数据 / * kubelet.go:1359] 未定义 api 服务器 - 不会发送节点状态更新。潜在的错误?
  • 是的,这就是我的怀疑; CNI 的引入阻塞了许多集群供应商。但是,当结合您在第三条评论中提到的所有其他可怕错误时,我建议仔细检查您的集群配置策略,因为似乎这里不仅存在一个错误配置,而且修复它们都需要一些重大的支持-在 SO 上来回

标签: kubernetes ubuntu-16.04 kubeadm


【解决方案1】:

在从节点上尝试以下操作并尝试在主节点上再次获取状态。

> sudo swapoff -a

> exit

【讨论】:

  • 这是不完整的建议,因为这样做会禁用 Swap,但不会阻止它在下次启动时再次挂载。 OP 还需要从其 /etc/fstab、systemd-mount 或等效文件中删除 Swap 分区。
猜你喜欢
  • 2019-06-02
  • 2018-04-16
  • 2021-01-21
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 2019-05-29
  • 2018-11-18
  • 1970-01-01
相关资源
最近更新 更多