谷歌云平台:k8s master无法ssh到节点

谷歌云平台:k8s master无法ssh到节点

我的一个 K8S 集群在 Google 云平台上遇到了一个非常奇怪的问题。

两天前,一切都很顺利。但昨天,helm用于部署此集群的所有命令都开始失败:

Error from server: error dialing backend: No SSH tunnels currently open. Were the targets able to accept an ssh-key for user "gke-5fe81XXXXXXX"? 我检查了https://cloud.google.com/kubernetes-engine/docs/troubleshooting The kubectl logs, attach, exec, and port-forward commands hang页。

  • 集群确实有节点(3 个池上有 15 个节点)
  • 集群中所有 Pod 都在运行,我尝试连接每个 Pod:每个节点上的每个 Pod 都存在同样的问题
  • 我的网络防火墙同时具有default-allow-ssh和,gke-review-5fe81XXX-ssh允许从主 IP 到所有节点的 ssh
  • 我的项目元数据 sshKeys 包含主 ssh 密钥,长度不为 32kb
  • 在我的节点上,该.ssh/authorized_keys文件包含来自主节点的公钥
  • 将我的密钥添加到项目元数据后,我可以从我的电脑 ssh 到节点,以及节点之间

真正令人恼火的是,这个问题上周发生了,可能持续了几个小时,但后来问题却神奇地消失了。

谢谢。

答案1

如果您运行,kubectl get nodes -o wide您是否会看到节点的 ExternalIP 或<none>?如果看到<none>,请尝试重新启动节点,看看是否能解决您的问题。

相关内容