我最近在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相同),如何解决此问题?
答案 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