我想在主节点上的节点上执行命令。例如,假设我有一个工作节点:kubenode01
现在,该节点上正在运行一个pod(pod测试)。在主服务器上使用“ kubectl get pods --output = wide”表明该Pod正在此节点上运行。 尝试从主服务器在该Pod上执行命令会导致错误,例如:
kubectl exec -ti pod-test -- cat /etc/resolv.conf
结果是:
Error from server: error dialing backend: dial tcp 10.0.22.131:10250: i/o timeout
有什么主意吗? 预先感谢
答案 0 :(得分:2)
只要将kubeconfig
配置为指向正确的群集URL(kube-apiserver),并且使用正确的凭据,并且防火墙允许连接到,您可以在任何地方执行kubectl
命令kube-apiserver端口。
以您为例,我将检查您的 10.0.22.131:10250
是否为您的kube-apiserver的真实 IP:PORT
,您是否可以访问它。
请注意, kubectl exec -ti pod-test -- cat /etc/resolv.conf
在 Pod 而不是节点上运行。如果您想在Node上运行,只需使用SSH。
✌️</ p>