Public Kubernetes 中 AWS 服务的 IP 失败

Public IP on service for AWS in Kubernetes fails

我按照指南在 aws 中启动了一个集群,然后开始按照留言簿进行操作。我遇到的问题是从外部访问它。我将 PublicIP 设置为 ec2 publicIP,然后使用该 ip 在浏览器中使用指南中指定的端口 8000 访问它。

没有显示。为了确保它实际上是没有显示任何内容的服务,然后我删除了该服务并将主机端口设置为 8000。当我转到 ec2 实例 IP 时,我可以正确访问它。所以我的设置似乎有问题。我能想到的一件事是,我在一个带有互联网网关的 VPC 中。我没有添加我使用的任何 json 文件,因为它们与 guestbook example 几乎完全相同,只是进行了一些更改以允许我的 ec2 PublicIP,以及一些针对 VPC 的更改。

在 AWS 上,您必须将您的 PRIVATE ip 地址用于 Kubernetes 的服务,因为您的实例不知道它的 public ip。亚马逊方面的 NAT-ing 是以这样一种方式完成的,即可以使用此配置访问您的服务。

更新: 请注意,在 v1 API 中删除了明确设置服务的 public IP 的可能性,所以这个问题是不再相关。

请查看以下文档页面以了解解决方法:https://kubernetes.io/docs/user-guide/services/