GKE 入口:https://cloud.google.com/kubernetes-engine/docs/concepts/ingress https://cloud.google.com/kubernetes-engine/docs/concepts/ingress
Nginx 入口:https://kubernetes.github.io/ingress-nginx/ https://kubernetes.github.io/ingress-nginx/
为什么选择 GKE Ingress
GKE Ingress 可与 Google 托管的 SSL 证书一起使用。这些证书部署在负载均衡器的边缘服务器中,从而导致非常低的 TTFB(第一个字节的时间)
GKE Ingress 有什么问题
HTTP/域路由是在负载均衡器中使用“转发规则”完成的,这是非常昂贵的。每条规则的成本约为 7.2 美元。每个域需要一条规则。
为什么选择 Nginx Ingress
Nginx Ingress 还创建 (TCP/UP) 负载均衡器,我们可以在其中使用入口控制器指定 HTTP/域的路由。由于路由是在集群内部完成的,因此将域添加到规则中不会产生额外成本
Nginx Ingress 出了什么问题
要启用 SSL,我们可以使用 cert-manager。但正如我上面提到的,Google 的托管证书将证书部署在边缘服务器中,这导致延迟非常低
我的问题
两者可以一起使用吗?这样 HTTPS 请求首先到达 GKE 入口,GKE 入口将终止 SSL 并将流量路由到 Nginx 入口,Nginx 入口将其路由到相应的 pod
无法指出Ingress
到另一个Ingress
。此外,在您的具体情况下,也不可能指出GCE ingress class
自从它依赖于 HTTP(S) 负载均衡器 https://cloud.google.com/kubernetes-engine/docs/how-to/load-balance-ingress,只能有 GCE 实例/实例组 https://cloud.google.com/compute/docs/instance-groups/(基本上是 GKE 中的节点池),或者GCS 铲斗 https://cloud.google.com/storage/docs/json_api/v1/buckets as backends https://cloud.google.com/load-balancing/docs/backend-service.
如果您要使用 GKE 部署 Nginx 入口,它将启动一个网络负载均衡器 https://cloud.google.com/load-balancing/docs/network/这不是 HTTP(S) 负载均衡器的有效后端。
所以两者都不可能通过Ingress
也不是 GCP 基础设施功能。但是,如果您需要GCE ingress class
要首先受到打击,然后使用 Nginx 管理进一步的路由,您可能需要考虑将 Nginx 作为 KubernetesService https://kubernetes.io/docs/concepts/services-networking/service//部署 https://kubernetes.io/docs/concepts/workloads/controllers/deployment/管理集群网络内的传入流量。
您可以创建一个集群IP https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#creating-a-service用于内部访问 Nginx 部署并从那里使用 cluster-local 的服务主机名 https://kubernetes.io/docs/concepts/services-networking/service/#dns重定向到集群内的其他服务/应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)