【发布时间】:2019-12-18 18:22:13
【问题描述】:
GKE 入口:https://cloud.google.com/kubernetes-engine/docs/concepts/ingress
Nginx 入口:https://kubernetes.github.io/ingress-nginx/
为什么选择 GKE Ingress
GKE Ingress 可以与 Google 的托管 SSL 证书一起使用。这些证书部署在负载均衡器的边缘服务器中,导致 TTFB(第一个字节的时间)非常低
GKE Ingress 出了什么问题
HTTP/域路由是在负载均衡器中使用非常昂贵的“转发规则”完成的。每条规则的成本约为 7.2 美元。每个域都需要一个规则。
为什么选择 Nginx 入口
Nginx Ingress 还创建(TCP/UP)负载平衡器,我们可以在其中使用入口控制器指定 HTTP/域的路由。由于路由是在集群内部完成的,因此将域添加到规则中不会产生额外成本
Nginx Ingress 出了什么问题
要启用 SSL,我们可以使用 cert-manager。但正如我上面提到的,Google 的托管证书将证书部署在边缘服务器中,从而导致非常低的延迟
我的问题
可以同时使用吗?这样 HTTPS 请求首先到达 GKE 入口,这将终止 SSL 并将流量路由到 Nginx 入口,然后将其路由到相应的 pod
【问题讨论】:
-
您可以使用multiple ingress controllers。也许您可以部署core nginx deployment and other components,然后将其公开为
NodePort服务而不是LoadBalancer服务,修改this,然后为该服务创建一个其类对应于GKE 的Ingress。然后应该使用 nginx 类创建所有其他 Ingress... -
...虽然没试过,很好奇是否可行。
标签: kubernetes google-kubernetes-engine kubernetes-ingress nginx-ingress