首页 > 解决方案 > kubectl get componentstatus Unable to connect to server: dial tcp xx.xxx.xx.x:xxx: i/o timeout

问题描述

当我尝试从 Google Cloud Platform Cloud Shell 获取 pod 或节点状态时,我遇到了这个错误?有人可以帮帮我吗?我可以看到“kubectl config view”的输出。

标签: google-cloud-platformgoogle-kubernetes-enginekubectl

解决方案


将此答案发布为社区 wiki 以获得更好的可见性以及可能的解决方案已在评论中发布的事实:

这回答了你的问题了吗?无法连接到服务器:拨号 tcp i/o 超时


除此之外:

下面的命令:

  • $ kubectl config view

用于显示存储在./kube/config文件中的配置。您可以看到此命令的输出这一事实并不意味着您已将正确的集群配置为与kubectl.


从和的角度Google Cloud Platform来看Cloud Shell

有一个关于故障排除问题的官方文档GKE

您收到以下错误的原因可能有多种:

  • 您在~/.kube/config文件中引用了错误的集群。
    • $ gcloud container clusters get-credentials CLUSTER_NAME --zone=ZONE- 您需要运行此命令来获取正确的配置
    • 您也可以从Kubernetes Engine页面(Connect按钮)获取上述命令
  • 您正在引用~/.kube/config文件中已删除的集群
  • 您创建了私有 GKE 集群

有关更多信息,您可以查看Cloud Console -> Kubernetes Engine -> CLUSTER_NAME

您还可以运行:

  • $ gcloud container clusters list- 此命令将显示集群及其所处的状态(状态)
  • $ gcloud container clusters describe CLUSTER_NAME --zone=ZONE- 此命令将显示集群的配置

推荐阅读