处于“未就绪”状态的kubernetes工作者节点

时间:2019-01-07 21:03:22

标签: kubernetes kubeadm flannel

我正在尝试使用Kubernetes 1.13.1设置我的第一个集群。主服务器已初始化好,但是我的两个工作节点均为NotReadykubectl describe node显示Kubelet停止在两个辅助节点上发布节点状态。在其中一个工作节点上,我得到了类似的日志输出

> kubelet[3680]: E0107 20:37:21.196128    3680 kubelet.go:2266] node
> "xyz" not found.

这是完整的详细信息:

我正在使用Centos 7和Kubernetes 1.13.1。

初始化过程如下:

[root@master ~]# kubeadm init --apiserver-advertise-address=10.142.0.4 --pod-network-cidr=10.142.0.0/24

成功初始化了集群:

You can now join any number of machines by running the following on each node
as root:
`kubeadm join 10.142.0.4:6443 --token y0epoc.zan7yp35sow5rorw --discovery-token-ca-cert-hash sha256:f02d43311c2696e1a73e157bda583247b9faac4ffb368f737ee9345412c9dea4`

部署法兰绒CNI:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

join命令运行正常。

[kubelet-start] Activating the kubelet service [tlsbootstrap] Waiting for the kubelet to perform the TLS Bootstrap... [patchnode] Uploading the CRI Socket information "/var/run/dockershim.sock" to the Node API object "node01" as an annotation

  

此节点已加入集群:

* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.
Run 'kubectl get nodes' on the master to see this node join the cluster.

kubectl获取节点的结果:

[root@master ~]# kubectl get nodes

NAME     STATUS     ROLES    AGE   VERSION

master   Ready      master   9h    v1.13.1

node01   NotReady   <none>   9h    v1.13.1

node02   NotReady   <none>   9h    v1.13.1

在两个节点上

[root@node01 ~]# service kubelet status 重定向到/ bin / systemctl状态kubelet.service ●kubelet.service-kubelet:Kubernetes节点代理

 Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)

  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf

   Active: active (running) since Tue 2019-01-08 04:49:20 UTC; 32s ago

     Docs: https://kubernetes.io/docs/

 Main PID: 4224 (kubelet)

   Memory: 31.3M

   CGroup: /system.slice/kubelet.service
           └─4224 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfi

`Jan 08 04:54:10 node01 kubelet[4224]: E0108 04:54:10.957115    4224 kubelet.go:2266] node "node01" not found`

非常感谢您提供有关如何解决此问题的建议。

3 个答案:

答案 0 :(得分:0)

该错误的原因似乎是由于不正确的子网引起的。在Flannel documentation中写道,对于Pod网络,应该使用/ 16而不是/ 24。

  

注意:如果使用kubeadm,则传递--pod-network-cidr = 10.244.0.0 / 16   kubeadm init以确保已设置podCIDR。

我尝试使用/ 24运行kubeadm,尽管我的节点处于“就绪”状态,但绒布容器无法正常运行,这导致了一些问题。

您可以通过以下方法检查法兰绒吊舱是否正常运行: kubectl get pods -n kube-system如果状态不是running,则表示行为不正确。在这种情况下,您可以通过运行kubectl describe pod PODNAME -n kube-system来检查详细信息。尝试更改子网,如果可以解决问题,请更新我们。

答案 1 :(得分:0)

我遇到了几乎相同的问题,最后我发现原因是防火墙没有关闭。您可以尝试以下命令:

sudo ufw disable

systemctl disable firewalld

setenforce 0

答案 2 :(得分:-1)

上一个答案听起来正确。您可以通过运行来验证 kubectl describe node node01在master上,或正确配置kubectl的任何地方。

相关问题