我想在主节点上执行命令。例如,假设我有工作节点:kubenode01
现在,一个 pod(pod-test)正在该节点上运行。在 master 上使用“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
任何想法?提前致谢
kubectl只要kubeconfig配置为使用正确的凭据指向正确的集群 URL ( kube-apiserver ),并且防火墙允许连接到 kube-apiserver 端口,您就可以从任何地方执行命令。
就您而言,我会检查您的 kube-apiserver 是否10.0.22.131:10250是真实的IP:PORT并且您可以访问它。
请注意,它在Podkubectl exec -ti pod-test -- cat /etc/resolv.conf上运行,而不是在 Node 上运行。如果您想在节点上运行,只需使用SSH即可。
更新:
\n这里还有另外两种选择:
\n您可以使用专门使该 pod 在特定节点上运行的nodeSelector创建一个 pod(或调试 pod) 。
\n如果您尝试调试已在特定节点上运行的 pod 上的某些内容,您还可以尝试创建调试临时容器。
\n在较新版本的 Kubernetes 上,您可以使用调试 Pod 在特定节点上运行某些内容
\n\xe2\x9c\x8c\xef\xb8\x8f
\n| 归档时间: |
|
| 查看次数: |
8965 次 |
| 最近记录: |