如何引用由证书管理器生成的具有名称后缀名的机密?

时间:2020-09-22 13:28:15

标签: ssl kubernetes rancher cert-manager apache-pulsar

场景:我正在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会生成带有哈希后缀的机密名称,因此在创建例如Kubernetes抱怨说,它是一个Zookeeper吊舱,它找不到tls机密,并失败,并发生事件“ MountVolume.SetUp为卷“ zookeeper-certs”设置失败:机密“ pulsar-tls-zookeeper”未找到”。

有什么想法如何处理这种情况吗?

2 个答案:

答案 0 :(得分:1)

您可以为秘密禁用哈希后缀,以便更容易预测名称:

generatorOptions:
  disableNameSuffixHash: true

答案 1 :(得分:0)

我在这里找到了答案:https://github.com/jetstack/cert-manager/issues/3283

生成的机密(包括哈希后缀)用作密钥轮换的下一个私钥。接下来将生成同时包含当前密钥和证书(其他证书不包含)的正确机密。但是,由于为发行者生成ca证书时发生错误,因此不会发生。