如何提供对 ClusterIssuer 中秘密命名空间的引用?

Vis*_*ant 1 ca kubernetes cert-manager kubernetes-secrets

我有一个 ClusterIssuer 正在等待secretName,我在 中看到ClusterIssuer spec,我可以指定secretName

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: postgres-operator-ca-certificate-cluster-issuer
spec:
  ca:
    secretName: postgres-operator-ca-certificate     # <---- Here
Run Code Online (Sandbox Code Playgroud)

但如何提供对秘密命名空间的引用呢?这个秘密是使用以下命令创建的Certificate

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: postgres-operator-self-signed-ca-certificate
  namespace: postgres                 # <---- This namespace can not be changed to cert-manager
spec:
  isCA: true
  commonName: postgres-operator-ca-certificate
  secretName: postgres-operator-ca-certificate
  issuerRef:
    name: postgres-operator-selfsigned-clusterissuer
    kind: ClusterIssuer
Run Code Online (Sandbox Code Playgroud)

因为这是namespaced建议使用Issuer而不是ClusterIssuer? 默认情况下是否ClusterIssuer在命名空间中查找cert-manager

eri*_*sas 5

cert-manager通常,它会默认在命名空间中查找秘密。它所查找的命名空间可以由您的证书管理器安装使用--cluster-resource-namespace参数来更改,但不能由单个 ClusterIssuer 更改。

\n

从文档中:

\n
\n

如果引用是集群范围的资源(例如 ClusterIssuer),\n则引用会引用配置的 \xe2\x80\x98 集群资源命名空间\xe2\x80\x99 中具有给定名称的资源,该名称设置为控制器组件上的标志(默认为证书管理器运行的命名空间)。

\n
\n

https://cert-manager.io/docs/reference/api-docs/#meta.cert-manager.io/v1.LocalObjectReference

\n