Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 是否可以使用单个GKE入口控制器拥有多个入口资源_Kubernetes_Google Cloud Platform_Google Kubernetes Engine_Kubernetes Ingress - Fatal编程技术网

Kubernetes 是否可以使用单个GKE入口控制器拥有多个入口资源

Kubernetes 是否可以使用单个GKE入口控制器拥有多个入口资源,kubernetes,google-cloud-platform,google-kubernetes-engine,kubernetes-ingress,Kubernetes,Google Cloud Platform,Google Kubernetes Engine,Kubernetes Ingress,在 它指出: 创建入口对象时,GKE入口控制器将创建一个Google Cloud HTTP(S)负载平衡器,并根据入口及其相关服务中的信息对其进行配置 对我来说,似乎我不能有多个单一的GCP入口控制器。相反,GKE为每个入口资源创建一个新的入口控制器 这是真的吗,还是GKE中有可能使用一个入口控制器拥有多个入口资源 我希望有一个GCP LoadBalancer作为入口控制器,配置静态IP和DNS,然后在集群中运行多个应用程序,每个应用程序使用特定于应用程序的主机和/或路径规范注册自己的入口资源

在 它指出:

创建入口对象时,GKE入口控制器将创建一个Google Cloud HTTP(S)负载平衡器,并根据入口及其相关服务中的信息对其进行配置

对我来说,似乎我不能有多个单一的GCP入口控制器。相反,GKE为每个入口资源创建一个新的入口控制器

这是真的吗,还是GKE中有可能使用一个入口控制器拥有多个入口资源

我希望有一个GCP LoadBalancer作为入口控制器,配置静态IP和DNS,然后在集群中运行多个应用程序,每个应用程序使用特定于应用程序的主机和/或路径规范注册自己的入口资源


请注意,一般来说,我对GKE、GCP和Kubernetes都很陌生,所以可能是我误解了什么。

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

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

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

在Kubernetes内部如果您使用类型创建服务负载平衡器它将在GCP中创建新的LB资源,因此请确保您的微服务类型为
ClusterIP
,并且您的所有流量都通过入口路径进入K8s集群


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

我认为您实际提出的问题与您所写的略有不同。您想知道多个入口资源是否可以链接到单个GCP负载平衡器,而不是GKE入口控制器。基于,集群中只有一个GKE入口控制器,负责实现多个资源和提供多个负载平衡器

所以,直接回答这个问题(因为我一直在寻找一个直截了当的答案!):

将多个入口资源合并到单个Google云负载中 不支持平衡器

资料来源:

悲哀

但是,使用nginx ingress controller至少可以最大限度地减少配置的外部(GCP)负载平衡器的数量(它只提供一个TCP负载平衡器),但由于负载平衡器用于TCP流量,因此它无法终止SSL或为您应用防火墙规则(例如,不能使用云防护)

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


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

谢谢,现在我觉得这很有意义。因此,我不应该使用GKE入口,而应该使用GCP LB,并使用Nginx或Ambassador等作为入口控制器。听起来很合理。感谢您提供了非常清晰的答案,它解释了很多。您可以根据您的需求使用任何东西,因为Ambassador有一些Nginx不支持的功能,用于GKE ingress。这取决于组织的要求或您正在运行的预期流量的工作负载类型。