ClusterIssuers 是一种类似于Issuers的资源类型。它们以完全相同的方式指定,但它们不属于单个命名空间,可以被来自多个不同命名空间的证书资源引用。
当您想要提供从中央机构(例如 Letsencrypt 或您的内部 CA)获取证书的能力并且您运行单租户集群时,它们特别有用。
Issuer资源的文档同样适用于 ClusterIssuers。
您可以通过将kindIssuer的属性更改为ClusterIssuer并删除该metadata.namespace属性来指定 ClusterIssuer 资源:
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
...
然后,我们可以通过将spec.issuerRef.kind字段设置为 ClusterIssuer 来从证书资源中引用ClusterIssuer:
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: my-certificate
namespace: my-namespace
spec:
secretName: my-certificate-secret
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
...
当引用Secret资源中的ClusterIssuer资源(例如apiKeySecretRef)时,Secret需要与cert-manager控制器 pod位于相同的命名空间中。您可以选择使用—cluster-resource-namespace控制器的参数覆盖它。