【发布时间】:2019-04-24 05:23:12
【问题描述】:
我的理解是,将Service 类型设置为LoadBalancer 会创建一个新的Azure 负载均衡器并为Service 分配一个IP 地址。这是否意味着我可以使用端口 80 拥有多个服务?如果我的 Service(一个 ASP.NET Core 应用程序)背后的应用程序可以处理 TLS 和 HTTPS,为什么我不应该将 LoadBalancer 用于我想要暴露给互联网的任何 Service?
如果我不关心 TLS 终止(您可以让 Cloudflare 处理 TLS 终止),使用 Ingress 有什么好处?如果有的话,它会通过为每个请求添加一个额外的跃点来减慢速度。
更新
下面的一些答案提到创建负载平衡器的成本很高。应该注意的是,Azure 上的负载均衡器是免费的,但它们对 IP 地址收费,他们免费为您提供五个 IP 地址。因此,对于要公开最多五个 IP 地址的小型项目,它基本上是免费的。除此之外,您可能还想看看广告Ingress。
如果您不使用Ingress,一些答案还会提到额外的复杂性。我已经提到 Cloudflare 可以为我处理 TLS 终止。我还发现了 external-dns Kubernetes 项目在 Cloudflare 中创建指向负载均衡器 IP 地址的 DNS 条目?在我看来,删除Ingress 可以降低复杂性,因为它是我必须配置和管理的一件事。 Ingress 的选择也很大,很可能我会选错一个,它会在一段时间后停止维护。
【问题讨论】:
标签: azure kubernetes kubernetes-ingress azure-aks