ClusterIssuers 是一种类似于Issuers的资源类型。它们以完全相同的方式指定,但它们不属于单个命名空间,可以被来自多个不同命名空间的证书资源引用。

    当您想要提供从中央机构(例如 Letsencrypt 或您的内部 CA)获取证书的能力并且您运行单租户集群时,它们特别有用。

    Issuer资源的文档同样适用于 ClusterIssuers。

    您可以通过将kindIssuer的属性更改为ClusterIssuer并删除该metadata.namespace属性来指定 ClusterIssuer 资源:

    1. apiVersion: cert-manager.io/v1alpha2
    2. kind: ClusterIssuer
    3. metadata:
    4. name: letsencrypt-prod
    5. spec:
    6. ...

    然后,我们可以通过将spec.issuerRef.kind字段设置为 ClusterIssuer 来从证书资源中引用ClusterIssuer:

    1. apiVersion: cert-manager.io/v1alpha2
    2. kind: Certificate
    3. metadata:
    4. name: my-certificate
    5. namespace: my-namespace
    6. spec:
    7. secretName: my-certificate-secret
    8. issuerRef:
    9. name: letsencrypt-prod
    10. kind: ClusterIssuer
    11. ...

    当引用Secret资源中的ClusterIssuer资源(例如apiKeySecretRef)时,Secret需要与cert-manager控制器 pod位于相同的命名空间中。您可以选择使用—cluster-resource-namespace控制器的参数覆盖它。