Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revisionBoth sides next revision | ||
devops:helm [2020/04/30 08:55] – [Определение значений переменных через другие переменные] admin | devops:helm [2020/04/30 10:54] – [Определение значений переменных через другие переменные] admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Создание чартов helm ====== | ||
+ | https:// | ||
+ | https:// | ||
+ | |||
+ | ====== Определение значений values.yaml через уже известные значения ====== | ||
+ | https:// | ||
+ | https:// | ||
+ | Например, | ||
+ | В конфигурацию **logstash** должны попасть путь к **elasticsearch** и пароль для **basic**-аутентификации. FQDN-имя, | ||
+ | Задача - сделать так, чтобы значения, | ||
+ | ===== values.yaml ===== | ||
+ | < | ||
+ | global: | ||
+ | internalElasticUserPassword: | ||
+ | # пароль, | ||
+ | # Он будет использован как минимум дважды. Первый раз - при создании секрета с паролем пользователя в основном чарте кластера elasticsearch. | ||
+ | # И второй раз - для создания переменной окружения logstash, которая будет использована в конфигурации output. | ||
+ | #..... | ||
+ | logstash: | ||
+ | image: | ||
+ | tag: |- | ||
+ | {{ .Chart.AppVersion }} | ||
+ | | ||
+ | config: | ||
+ | ELASTIC_PASSWORD: | ||
+ | {{ tpl (printf " | ||
+ | queue.max_bytes: | ||
+ | queue.type: memory | ||
+ | | ||
+ | elasticsearch: | ||
+ | host: |- | ||
+ | {{ tpl (printf " | ||
+ | port: 9200 | ||
+ | |||
+ | outputs: | ||
+ | main: |- | ||
+ | output { | ||
+ | elasticsearch { | ||
+ | hosts => [" | ||
+ | index => " | ||
+ | user => " | ||
+ | password => " | ||
+ | ssl => true | ||
+ | ssl_certificate_verification => false | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | а в **statefullset.yaml** субчарта **logstash** приводим соответствующие строки к такому виду: | ||
+ | < | ||
+ | - name: {{ .Chart.Name }} | ||
+ | image: "{{ .Values.image.repository }}:{{ tpl .Values.image.tag . }}" | ||
+ | | ||
+ | ## Elasticsearch output | ||
+ | - name: ELASTICSEARCH_HOST | ||
+ | value: {{ tpl (.Values.elasticsearch.host | toString) . | quote }} | ||
+ | | ||
+ | #### | ||
+ | | ||
+ | {{- range $key, $value := .Values.config }} | ||
+ | - name: {{ $key | upper | replace " | ||
+ | value: {{ tpl ($value | toString ) $ | quote }} | ||
+ | {{- end }} | ||
+ | </ | ||
+ | |||
+ | То есть строки, |