在 Google Container Engine 上设置 Kubernetes 入口时,您可以选择入口类(gce
或nginx
)。我意识到 GCE 类在 Google 的云平台上提供了一个负载均衡器,每个成本约为 20 美元/月。
经过一番研究,我找不到任何明显的理由来证明谷歌的负载均衡器比使用 NGINX 入口类更好 —— 至少在达到非常大的规模之前是这样。
事实上,GCE 类似乎不支持:
- 外部身份验证
ingress.kubernetes.io/auth-url
- 基本身份验证
- NGINX Ingress 中内置的一些其他小功能
与 NGINX 类相比,使用 GCE 类作为入口有哪些我不知道的好处?
答案1
经过进一步的阅读和测试,我确实发现了一些好处。我还意识到使用 NGINX 控制器仍会提供负载均衡器……因此无法避免每月约 20 美元的成本。
差异
- GCE 控制器导致HTTP(S) 负载均衡器需要配置
- NGINX 控制器需要
service
指定为type: LoadBalancer
- 这样做会导致网络负载均衡器需要配置
HTTP(S) 负载均衡器
网络负载均衡器
好处:
- 如上图所示,HTTP(S) 负载均衡器可以跨区域进行负载均衡,而网络负载均衡器只能在同一区域内跨可用区进行负载均衡
- GCE 控制器是专门为 Google 的云平台构建的,因此我认为它运行起来更可靠
- 与维护和指定 NGINX 控制器运行所需的 YAML 文件相比,默认的 GCE 控制器不需要额外的工作