Как ссылаться на секреты, сгенерированные менеджером сертификатов, с суффиксом хеша в имени?

Сценарий: у меня Apache Pulsar v2.6.0 развернут в Rancher Kubernetes вместе с jetstack / cert-manager:

helm install cert-manager jetstack/cert-manager --namespace cert-manager --set installCRDs=true
helm install --values ./values.yaml pulsar apache/pulsar

Я также настроил TLS для всех компонентов Pulsar следующим образом (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, Kubernetes жалуется, что не может найти секрет tls, и выдает ошибку с событием «MountVolume.SetUp failed for volume zookeeper-certs: secret pulsar-tls-zookeeper not found».

Есть идеи, как справиться с этим сценарием?


person user14321182    schedule 22.09.2020    source источник


Ответы (2)


Вы можете отключить хэш-суффикс для секретов, чтобы имена были более предсказуемыми:

generatorOptions:
  disableNameSuffixHash: true
person Rob Evans    schedule 23.09.2020

Я нашел ответ здесь: https://github.com/jetstack/cert-manager/issues/3283

Сгенерированные секреты (включая суффикс хеша) используются в качестве следующих закрытых ключей для ротации ключей. Затем будут сгенерированы правильные секреты, содержащие как текущий ключ, так и сертификат (который другие не содержат). Однако из-за ошибки во время создания сертификата CA для эмитента этого не происходит.

person user14321182    schedule 23.09.2020