我尝试在 Ingress 中使用 Google 托管证书(不是通过 k8s)。
如果 Ingress 在默认命名空间中,则使用ingress.gcp.kubernetes.io/pre-shared-cert: my-cert-name
注释一切正常。
但是,如果 Ingress 在命名空间中,它会查找名为my-namespace/my-cert-name
. 但是不可能用/
它的名字创建一个证书。
使用 GKE k8s ManagedCertificate 一切正常。如何使其与非 k8s ManagedCertificate 一起使用?
更新:我们使用 Terraform 来管理 SSL 证书,使用google_compute_managed_ssl_certificate
资源。我们将 GKE 与 Ingress 一起使用,并尝试使用该证书。如果 Ingress 在默认命名空间中——一切正常。如果 Ingress 位于其他命名空间中 - 就不可能使用该证书,因为 Ingress 查找名为的证书namespacename/certname
而不是certname
.
这已被建议,但目前不支持,您可以在此处查看进度。
可以使用cert-manager跨命名空间同步机密,但这仅适用于通配符证书。
您必须将入口移动到默认命名空间或使用不同的证书提供程序。