无法使用外部 IP 连接到 kubernetes 服务
Cannot connect to kubernetes service using external IP
我已经使用 kubeadm 在 GCE 中设置了一个 kubernetes 集群。我已经部署了一个简单的 mosquitto 代理和一个 Nodeport 服务来连接它。我可以使用内部 IP 地址从集群内部连接、发送和接收消息,但在尝试使用外部 IP(来自 GCE 的外部 IP)从外部连接时无法连接。这是我的服务的屏幕截图。
更新 防火墙规则
根据您的更新和我们的评论对话,我认为您需要添加防火墙规则。下面显示了如何打开所有端口,以便任何外部用户都可以访问 VM 上的任何端口。对安全性来说不是很好,但应该有希望表明这是问题所在。确保不要 运行 像这样用于生产等
- 转到 GCP 中“VPC 网络”中的“防火墙”
- 点击“创建防火墙规则”
- 给它起一个像“all”这样的名字
- 将目标更改为“网络中的所有实例”
- 将源 IP 范围更改为
0.0.0.0/0
- 在端口范围上单击“全部允许”
您应该可以访问 SERVERIP:30177。这应该与 VM 中的 NodePort 一起正常工作(而不是使用 GKE)并且服务器建议端口正在侦听 netstat -ntlp
显示 0.0.0.0:30177
.
我已经使用 kubeadm 在 GCE 中设置了一个 kubernetes 集群。我已经部署了一个简单的 mosquitto 代理和一个 Nodeport 服务来连接它。我可以使用内部 IP 地址从集群内部连接、发送和接收消息,但在尝试使用外部 IP(来自 GCE 的外部 IP)从外部连接时无法连接。这是我的服务的屏幕截图。
更新 防火墙规则
根据您的更新和我们的评论对话,我认为您需要添加防火墙规则。下面显示了如何打开所有端口,以便任何外部用户都可以访问 VM 上的任何端口。对安全性来说不是很好,但应该有希望表明这是问题所在。确保不要 运行 像这样用于生产等
- 转到 GCP 中“VPC 网络”中的“防火墙”
- 点击“创建防火墙规则”
- 给它起一个像“all”这样的名字
- 将目标更改为“网络中的所有实例”
- 将源 IP 范围更改为
0.0.0.0/0
- 在端口范围上单击“全部允许”
您应该可以访问 SERVERIP:30177。这应该与 VM 中的 NodePort 一起正常工作(而不是使用 GKE)并且服务器建议端口正在侦听 netstat -ntlp
显示 0.0.0.0:30177
.