Kubernetes 上的 NGINX 负载均衡

Ale*_*Tbk 5 nginx google-cloud-platform kubernetes

我有一些服务在 Kubernetes 中运行。我需要在它们前面放置一个 NGINX,根据 URL 重定向流量、处理 SSL 加密和负载平衡。

\n\n

有一个适用于该场景的有效 nginx.conf。我\xc2\xb4m缺少的是在gcloud上设置架构的正确方法。

\n\n

使用 nginx 启动 StatefulSet 并让负载均衡服务公开 NGINX 是否正确?我的理解是否正确,gcloud LB 会将配置的端口(fe 80 + 443)传递到我的 NGINX 服务,我可以在其中处理其余部分并将流量转发到后端服务?

\n

Ric*_*ico 2

您实际上并不需要StatefulSet部署即可,因为 nginx 已经由 gcloud TCP 负载均衡器前置,如果出于任何原因您的 nginx pod 之一关闭,gcloud 负载均衡器将不会将流量转发给它。由于您已经拥有 gcloud 负载均衡器,因此您必须使用NodePort 服务类型,并且必须将 gcloud 负载均衡器指向 K8s 集群上该特定端口上的所有节点。

请注意,您nginx.conf必须知道如何路由到 K8s 集群内部的所有服务。我建议您设置一个nginx 入口控制器,它基本上会nginx.conf通过入口资源为您管理,您也可以将其公开为LoadBalancer服务类型。