因此,我正在设置多个GKE集群,我被限制使用通配符域证书,但是我的域有两个层次,所以这是行不通的。所以现在我尝试使用google管理的证书,它可以工作,但似乎只适用于GCE入口,而不是nginx。
根据https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs,它已经工作,假设我只使用一个入口资源,它提供了一个L7(http)负载均衡器,使用GCE入口。我的问题是,是否可以设置nginx入口控制器来使用这些托管证书?
从nginx安装中,它提供了一个L4(tcp)负载均衡器,并使用一个部署来运行处理nginx控制器的吊舱。但我似乎无法将L4负载均衡器设置为使用全局保留的静态IP。而L7 one工作得很好。
对于如何使管理证书与nginx入口一起工作,有什么想法吗?
发布于 2019-05-23 22:37:58
发现了问题。我使用GCE入口为L4负载均衡器预留了一个全局IP地址,这是不允许的,因为TCP负载平衡只是区域性的,不像,后者需要全局IP预留,而不是区域IP。因此,它从未将DNS记录解析为正确的IP。很高兴知道把全球和地区的IP混淆在一起.
发布于 2021-05-07 03:03:09
谷歌管理-证书只支持GKE外部入侵。来自https://cloud.google.com/load-balancing/docs/ssl-certificates/google-managed-certs
注意:Google管理的SSL证书目前不支持内部HTTPS负载平衡器。对于内部HTTPS负载平衡器,请使用自管理SSL证书。
下面是我在使用GKE入口时遇到的限制:
如果您只需要外部入口的证书,您只需使用kubernetes.io/ingress.class: "gce"声明一个侵入域,设置ExternalDNS来为您创建CloudDNS记录,然后将托管证书附加到域名,如下所示:
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
name: certificate-name
spec:
domains:
- domain-name1
- domain-name2这为您提供了一个附加到服务的域,使用SSL,所有这些都使用google云DNS和google负载平衡。
如果您需要内部服务,这将是比较棘手的。我个人决定完全放弃GKE入口,使用ingress-nginx设置内部IP的LoadBalancer服务,然后使用cert-manager设置证书。有关此方法,您可以参考此博客。
https://stackoverflow.com/questions/56189286
复制相似问题