有没有可能用一个GKE入口控制器拥有多个入口资源



在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资源组合到单个谷歌云负载中平衡器不受支持。

来源:https://cloud.google.com/kubernetes-engine/docs/concepts/ingress

悲伤。

然而,使用nginx入口控制器是至少最小化提供的外部(GCP(负载平衡器数量的一种方法(它只提供一个TCP负载平衡器(,但由于负载平衡器用于TCP流量,它不能终止SSL,也不能为您应用防火墙规则(例如,不能使用Cloud Armor(。

据我所知,在GCP中使用单个HTTPS负载均衡器终止SSL并将流量路由到GKE中的多个服务的唯一方法是将入口组合到一个资源中,并在一个位置定义所有路径和证书。

(如果有人能想出一种使用多个独立入口资源的方法,我很乐意听到!(

是的,可以为多个入口资源使用单个入口控制器。

您可以根据路径要求创建多个入口资源,所有入口资源都将由单个入口控制器管理。

还有多个入口控制器选项可用,您也可以使用Nginx来创建一个LB并管理路径。

在Kubernetes内部,如果您正在创建一个类型LoadBalancer的服务,它将在GCP中创建新的LB资源,因此请确保您的微服务类型为ClusterIP,并且您的所有流量都通过ingress路径进入K8s集群。

当你设置入口控制器时,它将创建一个类型为LoadBalancer的服务,你可以在DNS服务器中使用该IP将子域和路径转发到K8s集群。

最新更新