Как установить столбик солончаков по идентификатору миньона? - PullRequest
0 голосов
/ 07 ноября 2018

Учитывая наличие файла состояния: 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

Какой лучший способ?

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете поместить файл данных столба для каждого миньона в pillar_roots / minions /, а затем добавить следующий код в верхний файл

base:
  '*':
    - minions.{{ grains['id'] }}
...