为什么自定义域需要 kubernetes Ingress?

Why do I need kubernetes Ingress for custom domain?

我使用 kubernetes 部署了我的应用程序,现在我想向应用程序添加自定义域。我正在使用 this 教程,它使用入口设置自定义域。
我注意到应用程序负载均衡器有一个 ip。为什么我不应该使用那个ip?我需要入口的原因是什么?

通过 IP 使用域具有明显的优势,无需记住 158.21.72.879 而不是 mydomain.com。

接下来,使用 mydomain.com,您可以根据需要多次更改 IP,而无需更改对 mydomain.com 的呼叫。

Ingress 有不同的风格,高度可配置,允许使用 kubernetes 服务名称进行流量重定向,其中一些甚至有自己的统计页面,因此您可以监控您的请求。

此外,如果您使用的是 gcloud 等,LoadBalancer IP 可能会更改(除非另外配置),从您的 IP 池中分配给您任何可用的 IP。

真正的问题是 - 为什么不使用 Ingress

如果您想公开您的应用程序,您可以轻松地使用 NodePort 类型的服务而不是 Ingress。您也可以使用类型 LoadBalancerLoadBalancerNodePort 的超集,并分配了一个固定的 ip。使用 LoadBalancer 类型,您可以为这个固定 IP 分配一个域。如何执行此操作取决于您注册域的位置。

回答您的问题:

  • 您不需要 Ingress 您可以使用 NodePort 服务或 LoadBalander 服务。
  • 要为您的应用分配域,您不需要 需要 Ingress,您可以使用 LoadBalancer 服务
  • 无论如何, 您可以只使用 ip,但正如已经指出的那样,域是 更方便。

如果您只是想试用您的应用程序,您可以直接使用 IP。稍后可以分配域。

这是关于如何公开应用程序的官方 kubernetes 教程:https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/