Google 使用 Nginx Ingress 管理 SSL 证书

Eri*_*ric 7 google-kubernetes-engine nginx-ingress

因此,我正在设置多个 GKE 集群,并且我只能使用通配符域证书,但我的域有两个级别深,因此无法正常工作。所以现在我正在尝试使用谷歌管理的证书,它有效,但似乎只适用于 GCE 入口,而不是 nginx。

根据https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs假设我只使用一个入口资源,该资源使用 GCE 入口配置 L7(http) 负载均衡器. 我的问题是,是否可以设置 nginx 入口控制器以使用这些托管证书?

从 nginx helm 安装开始,它提供了一个 L4(tcp) 负载平衡器,并使用部署来运行处理 nginx 控制器的 pod。但是我似乎无法将 L4 负载均衡器设置为使用我全局保留的静态 IP。而 L7 一个工作正常。

关于如何使用 nginx ingress 获取托管证书的任何想法?

Eri*_*ric 2

发现问题了。我使用 GCE 入口为 L4 负载均衡器保留一个全局 IP 地址,这是不允许的,因为 TCP 负载均衡只是区域性的,与 HTTP 负载均衡不同,HTTP 负载均衡需要保留全局 IP,而不是区域 IP。因此,它从未将 DNS 记录解析为正确的 IP。很高兴知道全球 IP 与区域 IP 之间令人困惑的警告......

  • 据我所知,您必须设置两个入口,并在 Google 入口上设置 GCP 托管证书,然后路由到 nginx,这似乎过于冗余。我最终做的是只使用 nginx ingress 并在集群内设置 cert-manager。非常酷的 kube 应用程序,使用 LetsEncrypt 或可能的其他 CA 自动维护证书(https://github.com/jetstack/cert-manager),该项目的维护者对此表示赞赏,它工作得很好 (3认同)