来自服务器的错误:拨号后端错误:拨号tcp <datanode-ip>:I / O超时

时间:2020-10-08 05:51:51

标签: kubernetes kubelet

我最近在kubernetes本地集群上遇到问题。当我使用命令kubectl exec -it curl-- bash在名为“ curl”的pod上运行一些命令时,出现了一些错误: error info

这是节点的信息: nodes info

pod'curl'在datanode-2上运行良好,而kubelet在端口10250上侦听,但我不知道为什么收到错误信息,这里是`kubectl describe po curl': curl pod describe

这是命名空间kube-system中的Pod,CNI是法兰绒: enter image description here

在其他pod上运行kubectl exec相同(与datanode-1相同),如何解决此问题?

2 个答案:

答案 0 :(得分:0)

我ssh到datanode-2,然后使用命令journalctl -u kubelet,日志重复报告错误,为什么。kubelet log

答案 1 :(得分:0)

此错误可能与kube-apiserver.service(在控制节点上)与kubelet.service(默认为端口10250)通信有关

要进行故障排除,您可能需要SSH进入控制节点,然后

telnet hostname(workernode) 10250
telnet privateip(workernode) 1025

如果两个telnet测试均失败,则可能与您在工作节点上的防火墙有关。因此,您应该在辅助节点中打开端口10250。检查kubelet是否正在此端口上运行

lsof -i :10250

如果telnet测试失败,则使用主机名或公共ip,但可以使用私有ip。您应该将标记添加到kube-apiserver的单元服务文件(位于/etc/systemd/system/kube-apiserver.service中)

--kubelet-preferred-address-types InternalIP

保存它,然后

systemctl daemon-reload
systemctl restart kube-apiserver