【问题标题】:Cannot connect to kubernetes service using external IP [closed]无法使用外部 IP 连接到 kubernetes 服务 [关闭]
【发布时间】:2021-11-21 10:46:46
【问题描述】:

我已经使用 kubeadm 在 GCE 中设置了一个 kubernetes 集群。我已经部署了一个简单的 mosquitto 代理和一个 Nodeport 服务来连接它。我可以使用内部 IP 地址从集群内部连接、发送和接收消息,但在尝试使用外部 IP(来自 GCE 的外部 IP)从外部连接时无法连接。这是我的服务的屏幕截图。

更新防火墙规则

【问题讨论】:

  • 只是为了确保您尝试访问 SERVERIP:30117 而不是 1883?
  • @clarj 是的。我正在使用外部IP:30117
  • 您的 GCP 网络设置是否允许该端口上的外部流量?
  • 如何检查?我跑了netstat -ntlp,它返回tcp 0 0 0.0.0.0:30117 0.0.0.0:* LISTEN
  • 在 GCP 中,在您的 VM 实例详细信息中,转到“网络接口”上的“查看详细信息”,转到“防火墙和路由详细信息”,然后单击“防火墙规则”,让我知道列出的内容在那里。

标签: kubernetes google-cloud-platform google-compute-engine kubeadm


【解决方案1】:

根据您的更新和我们的评论对话,我认为您需要添加防火墙规则。下面显示了如何打开所有端口,以便任何外部用户都可以访问 VM 上的任何端口。对安全性不是很好,但应该希望表明这是问题所在。确保不要像这样运行生产等。

  1. 转到 GCP 中“VPC 网络”中的“防火墙”
  2. 点击“创建防火墙规则”
  3. 给它起一个像“all”这样的名字
  4. 将目标更改为“网络中的所有实例”
  5. 将源 IP 范围更改为 0.0.0.0/0
  6. 在端口范围内点击“全部允许”

您应该能够访问 SERVERIP:30177。这应该适用于 VM 中的 NodePort(而不是使用 GKE),并且服务器建议端口正在侦听 netstat -ntlp,显示 0.0.0.0:30177

【讨论】:

  • 是的,它是防火墙。它现在正在工作。感谢您的帮助:)
猜你喜欢
  • 2018-08-20
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
相关资源
最近更新 更多