K8S-node状态为notready状态问题记录及解决1--Unable to update cni config: No networks found in /etc/cni/net.d
在notready的机器上查看日志journalctl -f -u kubelet可以看到关键报错:Unable to update cni config: No networks found in /etc/cni/net.d部署的时候,node节点上可能缺少文件,需从master机器上拷贝文件过来在问题机器上执行scp -r master:/etc/cni /etc/cni#master为ho
在notready的机器上查看日志
journalctl -f -u kubelet
可以看到关键报错:
Unable to update cni config: No networks found in /etc/cni/net.d
部署的时候,node节点上可能缺少文件,需从master机器上拷贝文件过来
在问题机器上执行
scp -r master:/etc/cni /etc/cni #master为hostname,根据实际情况调整
systemctl daemon-reload && systemctl restart kubelet
重启后可以看到又有新的报错
kubelet.go:1370] Failed to start ContainerManager failed to initialize top level QOS containers: failed to update top level Burstable QOS cgroup : failed to set supported cgroup subsystems for cgroup [kubepods burstable]: Failed to find subsystem mount for required subsystem: pids
该问题是cgroup与systemd相关的错误,需要修改配置文件
有的K8S版本配置文件在:/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
还有的是:/usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
根据实际部署版本查看配置文件位置
vim /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
#在ExecStart后加入 --feature-gates SupportPodPidsLimit=false --feature-gates SupportNodePidsLimit=false
随后再次重启kubelet服务
systemctl daemon-reload && systemctl restart kubelet
等待一会后,在master机器上查看node状态
如果再添加node的时候直接就发现报错了,则重新添加node,重新添加node之前,需要初始化node机器上的kubeadm,执行
kubeadm reset
这个操作同时可以解决以下问题:
[ERROR FileAvailable–etc-kubernetes-manifests-kub、[ERROR Port-10250]: Port 10250 is in use
更多推荐
所有评论(0)