如何使用 Ingress 访问 Kubernetes 中的多个服务?

How to access multiple services in Kubernetes using Ingress?

我们有一个应用程序,我们为每个客户提供一个新的命名空间。单个命名空间内有两个部署 运行:

前端应由用户访问,因此我们为每个客户使用 LoadBalancer(我们有一个基于 VM 的 k8s 集群)。

问题是,到目前为止,我们只有几个客户,当业务增长时,客户将会增加,并且会有更多的命名空间。

例如:如果有100个User,我们就得有100个LoadBalancer。这是不切实际的,我们可以用一个 LoadBalancer 代替并允许所有 100 个用户通过该 LoadBalancer 访问吗?

我们可以使用 Ingress 做到这一点吗?

是的,ingress 是处理您案件的正确方法。

一般来说,您已经提到了为什么应该使用入口 - 获得集群的单个入口点并且没有很多负载平衡器,这在云环境中不方便而且可能很昂贵。

使用 ingress 的主要好处是:

  • TLS 终止
  • hosts/paths 基于路由
  • 自己充当负载均衡器

还有更多。

您可以选择更适合您的用例的入口。 Ingress options

最常见的是:

请考虑熟悉 general concepts and examples of kubernetes ingress