【问题标题】:Trying to join worker node to master master status ready worker status not ready试图加入工作节点以掌握主状态就绪工作状态未准备好
【发布时间】:2019-05-29 01:56:22
【问题描述】:

我正在遵循此链接中的所有步骤:https://github.com/justmeandopensource/kubernetes

在工作节点中运行 join 命令后,它被添加到主节点,但工作节点的状态正在更改为准备就绪。

从日志中我得到以下信息:

Container runtime network not ready: NetworkReady=false 
reason:NetworkPluginNotReady message:dock
Unable to update cni config: No networks found in /etc/cni/net.d
kubelet.go:2266 -- node "XXXXXXXXX" not found. (xxxxx is the masters 
host/node name)

为了建立 CNI,我使用法兰绒并尝试使用编织和许多其他 CNI 网络,但结果是一样的

思考点:

---> 工作节点 kubelet 状态是健康的 ---> 尝试在工作节点中运行 kubeadm init 命令,它显示 kubelet 的状态可能不健康。 (无法通过运行 kubeadm init 命令使工作节点成为主节点,但 kubeadm join 命令正在工作。加入 kubectl get nodes 后显示工作节点但状态未就绪)

感谢您的帮助

【问题讨论】:

  • 您可以尝试重新安装 kubernetes-cni 我认为您的编织不健康,因为它无法创建网络,因为您的 dir /opt/cni/bin/ 在工作节点中为空。

标签: docker kubernetes kubectl kubeadm


【解决方案1】:

我无法重现您的问题。我完全按照你分享的 github 网站上的说明进行操作,没有遇到类似的错误。

我需要做的唯一额外步骤是抑制错误,通过 kubeadm init 的飞行前检查检测到:

[ERROR FileContent--proc-sys-net-ipv4-ip_forward]:/proc/sys/net/ipv4/ip_forward 内容未设置为 1 [preflight] 如果您知道自己在做什么,可以使用 --ignore-preflight-errors=... 进行非致命检查

是通过运行设置适当的标志:

echo '1' > /proc/sys/net/ipv4/ip_forward

我的集群节点的状态:

NAME            STATUS   ROLES    AGE   VERSION
centos-master   Ready    master   18h   v1.13.1
centos-worker   Ready    <none>   18h   v1.13.1

我通过部署和公开示例应用程序验证了集群状况,一切似乎都运行良好:

kubectl create deployment hello-node --image=gcr.io/hello-minikube-zero-install/hello-node
kubectl expose deployment hello-node --port=8080

我从 hello-world node.js 应用程序收到有效响应:

 curl 10.100.113.255:8080
 Hello World!# 

您在 /etc/hosts 文件中添加了什么 IP 地址?

【讨论】:

  • 你能否通过运行 kubeadm init 将 centos-worker 作为 master 运行,如果可以的话,你可以将日志发送给我
  • 我猜你的意思是来自 kubeadm init 的日志在 coentos-master 节点内运行,init 阶段适用于主节点,而不是工人。
  • 你能不能试着让你的工作节点成为主节点并检查加入你的主节点作为工作节点,你能告诉我它是否工作
猜你喜欢
  • 2018-06-03
  • 2019-06-02
  • 2021-11-09
  • 2018-11-18
  • 2021-07-10
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 1970-01-01
相关资源
最近更新 更多