Jar*_*ppe 8 google-cloud-platform kubernetes google-kubernetes-engine kubernetes-ingress
在GKE Ingress 文档中 指出:
当您创建 Ingress 对象时,GKE Ingress 控制器会创建一个 Google Cloud HTTP(S) 负载均衡器,并根据 Ingress 及其关联服务中的信息对其进行配置。
对我来说,我似乎无法通过单个 GCP 入口控制器拥有多个入口资源。相反,GKE 为每个入口资源创建一个新的入口控制器。
真的是这样吗?或者 GKE 中的单个入口控制器是否可以拥有多个入口资源?
我希望有一个 GCP LoadBalancer 作为配置了静态 IP 和 DNS 的入口控制器,然后在集群中运行多个应用程序,每个应用程序使用应用程序特定的主机和/或路径规范注册自己的入口资源。
请注意,我对 GKE、GCP 和 Kubernetes 总体来说还很陌生,所以我可能误解了一些东西。
我认为您实际提出的问题与您所写的略有不同。您想知道多个 Ingress 资源是否可以链接到单个 GCP 负载均衡器,而不是 GKE Ingress 控制器。基于控制器的概念,集群中只有一个 GKE Ingress 控制器,负责满足多种资源并配置多个负载均衡器。
因此,直接回答这个问题(因为我长期以来一直在寻找直接答案!):
不支持将多个 Ingress 资源合并到单个 Google Cloud 负载均衡器中。
来源: https: //cloud.google.com/kubernetes-engine/docs/concepts/ingress
伤心。
但是,使用 nginx-ingress 控制器是至少最小化所配置的外部 (GCP) 负载均衡器数量的一种方法(它仅配置一个 TCP 负载均衡器),但由于负载均衡器用于 TCP 流量,因此它无法终止 SSL ,或为您应用防火墙规则(例如,无法使用 Cloud Armor)。
据我所知,在 GCP 中使用单个 HTTPS 负载均衡器终止 SSL 并将流量路由到 GKE 中的多个服务的唯一方法是将入口合并到单个资源中,并将所有路径和证书定义在一个位置。
(如果有人想出一种方法来使用多个单独的入口资源来做到这一点,我很想听听!)
是的,可以为多个入口资源使用单个入口控制器。
您可以根据路径要求创建多个入口资源,所有资源都将由单个入口控制器管理。
还有多个入口控制器选项可用,您也可以使用 Nginx,它将创建一个 LB 并管理路径。
在 Kubernetes 内部,如果您要创建LoadBalancer类型 的服务,它将在 GCP 中创建新的 LB 资源,因此请确保您的微服务类型是,并且所有流量都通过入口路径进入 K8s 集群内部。ClusterIP
当您设置入口控制器时,它将创建一项具有类型的服务,LoadBalancer您可以在 DNS 服务器中使用该 IP 将子域和路径转发到 K8s 集群。
| 归档时间: |
|
| 查看次数: |
6518 次 |
| 最近记录: |