如何引用名称中带有哈希后缀的证书管理器生成的秘密?
How to reference secrets generated by cert-manager with hash suffix in name?
场景:我在 Rancher Kubernetes 中部署了 Apache Pulsar v2.6.0,以及 jetstack/cert-manager:
helm install cert-manager jetstack/cert-manager --namespace cert-manager --set installCRDs=true
helm install --values ./values.yaml pulsar apache/pulsar
我还为所有 Pulsar 组件配置了 TLS,如下所示 (values.yaml):
tls:
enabled: true
# common settings for generating certs
common:
keySize: 2048
# settings for generating certs for proxy
proxy:
enabled: true
# settings for generating certs for broker
broker:
enabled: true
# settings for generating certs for bookies
bookie:
enabled: true
# settings for generating certs for zookeeper
zookeeper:
enabled: true
但是,cert-manager 会生成带有哈希后缀的机密名称,因此在创建例如一个 Zookeeper pod,Kubernetes 抱怨它找不到 tls secret 并因事件 'MountVolume.SetUp failed for volume "zookeeper-certs" : secret "pulsar-tls-zookeeper" not found'.
而失败
知道如何处理这种情况吗?
您可以禁用机密的哈希后缀,这样名称就更容易预测了:
generatorOptions:
disableNameSuffixHash: true
我在这里找到了答案:https://github.com/jetstack/cert-manager/issues/3283
生成的秘密(包括哈希后缀)用作密钥轮换的下一个私钥。接下来将生成包含当前密钥和证书(其他密钥不包含)的正确秘密。但是,由于在为颁发者生成 CA 证书期间发生错误,这不会发生。
场景:我在 Rancher Kubernetes 中部署了 Apache Pulsar v2.6.0,以及 jetstack/cert-manager:
helm install cert-manager jetstack/cert-manager --namespace cert-manager --set installCRDs=true
helm install --values ./values.yaml pulsar apache/pulsar
我还为所有 Pulsar 组件配置了 TLS,如下所示 (values.yaml):
tls:
enabled: true
# common settings for generating certs
common:
keySize: 2048
# settings for generating certs for proxy
proxy:
enabled: true
# settings for generating certs for broker
broker:
enabled: true
# settings for generating certs for bookies
bookie:
enabled: true
# settings for generating certs for zookeeper
zookeeper:
enabled: true
但是,cert-manager 会生成带有哈希后缀的机密名称,因此在创建例如一个 Zookeeper pod,Kubernetes 抱怨它找不到 tls secret 并因事件 'MountVolume.SetUp failed for volume "zookeeper-certs" : secret "pulsar-tls-zookeeper" not found'.
而失败知道如何处理这种情况吗?
您可以禁用机密的哈希后缀,这样名称就更容易预测了:
generatorOptions:
disableNameSuffixHash: true
我在这里找到了答案:https://github.com/jetstack/cert-manager/issues/3283
生成的秘密(包括哈希后缀)用作密钥轮换的下一个私钥。接下来将生成包含当前密钥和证书(其他密钥不包含)的正确秘密。但是,由于在为颁发者生成 CA 证书期间发生错误,这不会发生。