Учитывая наличие файла состояния: kafka.sls для развертывания и настройки кластера kafka.
Теперь нам нужны некоторые данные для конфигурации, для глобальной конфигурации мы можем поместить их в pillar / kafka.sls, например так:
kafka:
cluster:
name: my-kafka-cluster
log_dir: /data/kafka/
autocreate_topic: true
А в топ.слс
base:
'role:Kafka':
- kafka
Теперь нам нужны разные конфигурации для каждого брокера: broker.id
Куда мне положить broker.id
?
Единственный способ, которым я знаю, это использование if / else в колонне. Но это действительно плохая практика.
kafka:
cluster:
name: my-kafka-cluster
log_dir: /data/kafka/
autocreate_topic: true
broker_id: {% if grains.get['minion_id'] == HOSTNAME ... %}
ИЛИ в top.sls:
base:
'role:Kafka':
- kafka
'minion_id':
- kafka_settings_for_minion_id
Какой лучший способ?