【问题标题】:kubernetes ssh connection refused on gcloudgcloud 上的 kubernetes ssh 连接被拒绝
【发布时间】:2018-03-14 03:29:31
【问题描述】:

我正在尝试连接到在 GKE 集群中运行的 pod - 我可以通过 ssh 进入集群中的节点,但是当我尝试使用以下命令进入 pod 中的 bash 时,出现错误:

kubectl --namespace=prod exec -it test-webserver-3998817321-728hj -- /bin/bash

->来自服务器的错误:错误拨号后端:ssh:拒绝:连接失败(连接超时)

如何使用 kubectl 命令连接到 gke 集群中正在运行的 pod?我的防火墙是否配置错误?我有以下 ssh 规则:

NAME       NETWORK  DIRECTION  PRIORITY  ALLOW   DENY
sshaccess  default  INGRESS    1000      tcp:22,icmp

当我在本地集群上尝试上述命令时,我可以轻松连接。

有时有效,有时无效。据我了解,负载均衡器(入口)可能是造成这种行为的原因?

【问题讨论】:

    标签: docker ssh kubernetes firewall gcloud


    【解决方案1】:

    我收到了完全相同的错误消息,对我来说,它有时有效,有时无效。

    在我的情况下,这是由防火墙配置错误引起的。 除了 443 端口外,我使用出口限制了大部分传出流量。 我添加了一条规则,允许从 k8s 节点传出的流量到每个端口的内部 IP(同一子网中的 IP)。 如果您的情况也是由禁止从 k8s 到内部节点的出口引起的,请创建新的防火墙规则以允许该事务。

    gcloud compute firewall-rules create <firewall-name> --network <network-name> --action allow --rules tcp --direction egress --destination-ranges <internal-ip range> --target-tags <server-ip from which transaction goes out.>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 2020-11-06
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 2022-01-07
      • 2013-01-25
      相关资源
      最近更新 更多