Отключение подкарт в пользовательской диаграмме руля - PullRequest
2 голосов
/ 25 марта 2019

Я создал пользовательскую диаграмму рулевого управления с elastic-stack в качестве подкарты со следующими конфигурациями.

# requirements.yaml
dependencies:
  - name: elastic-stack
    version: 1.5.0
    repository: '@stable'
# values.yaml
elastic-stack:
  kibana:
    # at this level enabled is not recognized (does not work)
    # enabled: true

    # configs like env, only work at this level
    env:
      ELASTICSEARCH_URL: http://foo-elasticsearch-client.default.svc.cluster.local:9200
    service:
      externalPort: 80

# enabled only works at root level
elasticsearch:
  enabled: true
kibana:
  enabled: true
logstash:
  enabled: false

То, что я не понимаю, - это то, почему я должен определить enabledтеги вне elasatic-stack: и все другие конфигурации внутри?

Это нормальное поведение руля или какая-то неверная конфигурация в диаграмме эластичного стека?

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

Условия Хелма оцениваются в значениях верхнего родителя:

Условие - Поле условия содержит один или несколько путей YAML (разделенных запятыми).Если этот путь существует в значениях верхнего родительского элемента и разрешается в логическое значение, диаграмма будет включена или отключена на основе этого логического значения

. Ознакомьтесь с условиями в needs.yaml. из стабильного / эластичного стека:

- name: elasticsearch
  version: ^1.17.0
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: elasticsearch.enabled
- name: kibana
  version: ^1.1.0
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: kibana.enabled
- name: logstash
  version: ^1.2.1
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: logstash.enabled

Пути условий: elasticsearch.enabled, kibana.enabled и logstash.enabled, поэтому их необходимо использовать в значениях родительской диаграммы.

1 голос
/ 25 марта 2019

Эти свойства в родительских значениях. Yaml служат в качестве переключателя для подкарт.

Предполагается, что вы используете condition в ваших файлах require.yaml для управления установкой или выполнением зависимых подкаталогов. Если не указано иное, helm просто приступает к развертыванию подкарты без проблем и проблем.

А также, эти значения находятся в родительском values.yaml, потому что они используются в самой родительской диаграмме и, более того, не могут использоваться внутри вложенной диаграммы, если они не предоставлены как глобальные или в ключе имени свойства вложенной диаграммы (который в вашем случае является эластичным). -stack).

...