2

我正在尝试使用 Amazon 的 Elastic Kubernetes 服务配置一个弹性 IP,以便我可以公开一个静态公共 IP 地址。到目前为止,公开静态公共 IP 地址的唯一方法似乎是通过负载均衡器,这有点浪费,因为我有一个用于服务的静态私有 IP 地址端点,但无法公开公开它。而且我只需要运行 1 个服务实例,因为这里不需要 HA。我已经尝试了我能想到的一切,甚至手动配置弹性 ip,但似乎如果这是一个解决方案,那么这些步骤有点复杂,而且你不得不做这样的事情似乎很奇怪。

4

2 回答 2

2

简短的回答:AFAIK 通过 K8s 是不可能的。如果您不想浪费 EIP,那么为什么不使用入口控制器(类似 traefik 或 nginx),这样您的入口将单个 IP 作为服务,然后您可以从那里公开其他服务。

nginx

交易

此外,您可以在代码的 AWS 提供商部分中跟踪或打开kube-aws或 k8s 本身中的问题

于 2018-09-11T16:15:53.163 回答
2

使用 EKS 的唯一可能方法是使用负载均衡器。在我们的例子中,我们需要有一个固定的 CNAME 才能在 Route53 中使用。我们最终使用了一个指向我们的 Web 服务器的负载均衡器,它被设置为部署。正如您所提到的,我认为使用负载均衡器是一种浪费,因为我们只有 1 个部署,但它最终还是很有帮助的,特别是因为我们将部署配置为使用 readinessProbe,这样,Balancer 就只切换到 Pod当它准备好时。然后将负载均衡器 CNAME 用作 Route53 中的 RecordSet。

于 2018-09-11T20:15:48.520 回答