我有单独的 zookeeper 图表。我也有单独的 kafka 图表。条件条件zookeeper.enabled的kafka图表的requirements.yaml中对zookeeper图表有依赖性。默认情况下,在卡夫卡图表的values.yaml中
explode(...).reset_index(drop=True)
在构建时的平均卡夫卡图包括卡夫卡图和Zookeeper图,运行时Zookeeper将根据上述条件进行部署。
现在,我想要一些新的总括图,我们称之为 TLC图。在需求中,我将依赖于zookeeper图表以及kafka图表。而且我在下面的TLC的values.yaml中定义
zookeeper:
enabled: true
以便禁用kafka内部Zookeeper部署。我期望在部署TLC时得到kafka和zookeeper,但是收到有关zookeeper服务存在的错误。发生这种情况的原因是,它试图部署内部卡夫卡Zookeeper以及TLC要求中定义的Zookeeper。
所以我的问题是为什么zookeeper.enabled的条件不起作用,我从TLC覆盖了它,因此我希望它不会部署内部Zookeeper。
答案 0 :(得分:0)
好的,解决了这个问题。
我在以下条件下将添加到卡夫卡图表Requirements.yaml
dependencies:
- name: zookeeper
version: ...
repository: ...
condition: kafka.zookeeper.enabled,zookeeper.enabled
代替
dependencies:
- name: zookeeper
version: ...
repository: ...
condition: zookeeper.enabled
这样,我可以确定当kafka图表用作TLC的子图时,由于 kafka.zookeeper.enabled 条件,内部的Zookeeper可以被禁用。