Области условий Helm requirements.yaml в зонтичных диаграммах

У меня есть отдельная диаграмма zookeeper. У меня также есть отдельная диаграмма kafka. Существует зависимость от диаграммы zookeeper в файле requirements.yaml диаграммы kafka с условием zookeeper.enabled. По умолчанию в values.yaml диаграммы kafka

zookeeper:
  enabled: true

Это означает, что диаграмма kafka во время сборки включает в себя как диаграммы kafka, так и диаграммы zookeeper, во время выполнения zookeeper будет развернут в соответствии с вышеупомянутым условием.

Теперь мне нужна новая зонтичная диаграмма, назовем ее диаграмма TLC. В требованиях я поставил зависимость от диаграммы зоопарка, а также от диаграммы кафки. Более того я определил в values.yaml TLC ниже

kafka:
  zookeeper:
    enabled: false

чтобы отключить внутреннее развертывание kafka zookeeper. Я ожидаю, что когда я разверну свой TLC, я получу kafka и zookeeper, однако получаю сообщение об ошибке, что служба zookeeper существует. Это происходит потому, что он пытается развернуть внутренний зоопарк кафки, а также зоопарк, определенный в требованиях TLC.

Итак, мой вопрос: почему условие zookeeper.enabled не сработало, я переопределяю его из TLC, поэтому я ожидаю, что он не будет развертывать внутренний зоопарк.


person liotur    schedule 15.10.2020    source источник
comment
Можете ли вы включить свои требования.yaml или соответствующие части из него в вопрос?   -  person Lauri Koskela    schedule 16.10.2020


Ответы (1)


Хорошо, исправил проблему.

Я добавил в кафку диаграмму requirements.yaml ниже условия

dependencies:
  - name: zookeeper
    version: ...
    repository: ...
    condition: kafka.zookeeper.enabled,zookeeper.enabled

вместо

dependencies:
  - name: zookeeper
    version: ...
    repository: ...
    condition: zookeeper.enabled

Таким образом, я могу быть уверен, что когда диаграмма kafka будет действовать как поддиаграмма для TLC, внутренний zookeeper может быть отключен из-за условия kafka.zookeeper.enabled.

person liotur    schedule 16.10.2020