我正在尝试使用Kubernetes 1.13.1设置我的第一个集群。主服务器已初始化好,但是我的两个工作节点均为NotReady
。 kubectl 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`
非常感谢您提供有关如何解决此问题的建议。
答案 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的任何地方。