K8s Helm: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) (→1) |
||
Строка 20: | Строка 20: | ||
* https://helm.sh/docs/chart_template_guide/function_list/ |
* https://helm.sh/docs/chart_template_guide/function_list/ |
||
+ | ==Передача параметров в именованные темплейты== |
||
− | ==1== |
||
+ | * https://runkiss.blogspot.com/2021/06/sending-parameters-to-helm-named.html |
||
+ | |||
+ | |||
+ | Пример именованного темплейта |
||
+ | <PRE> |
||
+ | {{- define "myNamedTemplate" }} |
||
+ | - name: {{ .Values.myParam1 }} |
||
+ | value: {{ .Values.myValue1 | quote }} |
||
+ | - name: {{ .Values.myParam2 }} |
||
+ | value: {{ .Values.myValue2 | quote }} |
||
+ | {{- end }} |
||
+ | </PRE> |
||
+ | |||
+ | |||
+ | |||
+ | ===Использование простого словаря (dict)=== |
||
+ | |||
+ | {{- $myValues := dict "myParam1" "myValue1" "myParam2" "myValue2" -}} |
||
+ | {{- $myParameters := dict "Values" $myValues -}} |
||
+ | {{- include "myNamedTemplate" $myParameters }} |
||
+ | |||
+ | |||
+ | ===Использование словаря c вложениями (dict)=== |
||
+ | Тут set делает то что от него ожидается - устанавливает значение по ключу в словаре.<BRE> |
||
+ | $_ нужна для того что бы "выкинуть" то что вернет функция set ( и значение $_ нигде не используется)<BR> |
||
+ | <PRE> |
||
+ | |||
+ | {{- $myValues := dict -}} |
||
+ | {{- $myInnerValues := dict "innerVariable" "innerValue" -}} |
||
+ | {{- $_ := set $myValues "inner" $myInnerValues -}} |
||
+ | {{- $myParameters := dict "Values" $myValues -}} |
||
+ | |||
+ | {{- include "myNamedTemplate" $myParameters }} |
||
+ | </PRE> |
||
+ | |||
+ | ===Глобальные переменные=== |
||
+ | |||
+ | If case the named template uses a .Values.global.VARIABLE , add the global dictionary as well: |
||
+ | |||
+ | {{- $myValues := dict "myParam1" "myValue1" "myParam2" "myValue2" -}} |
||
+ | {{- $_ := set $myValues "global" .Values.global -}} |
||
+ | {{- $myParameters := dict "Values" $myValues -}} |
||
+ | {{- include "myNamedTemplate" $myParameters }} |
||
+ | |||
+ | |||
+ | |||
+ | ===Перекрытие параметров=== |
||
+ | |||
+ | To override existing parameters, only for a specific activation, use the following: |
||
+ | |||
+ | {{- $myValues := .Values | deepCopy -}} |
||
+ | {{- $_ := set $myValues "myOverrideParam" "overridenValue" -}} |
||
+ | {{- $myParameters := dict "Values" $myValues -}} |
||
+ | {{- include "myNamedTemplate" $myParameters }} |
||
+ | |||
+ | |||
+ | |||
+ | ===Перекрытие параметров (вложенных в словарь)=== |
||
+ | |||
+ | To override just a single global variable, use the following: |
||
+ | |||
+ | {{- $myValues := .Values | deepCopy -}} |
||
+ | {{- $_ := set $myValues "global" .Values.global -}} |
||
+ | {{- $_ := set $myValues.global.OVERRIDE_GLOBAL_PARAMETER_NAME "OVERRIDE_GLOBAL_PARAMETER_VALUE" -}} |
||
+ | {{- $myParameters := dict "Values" $myValues -}} |
Версия 12:04, 19 января 2022
Helm
Записки на полях про Helm (3)
Добавить репу
helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull bitnami/kafka
helm install --dry-run --debug kilda-kafka kafka
Code Snippets
Передача параметров в именованные темплейты
Пример именованного темплейта
{{- define "myNamedTemplate" }} - name: {{ .Values.myParam1 }} value: {{ .Values.myValue1 | quote }} - name: {{ .Values.myParam2 }} value: {{ .Values.myValue2 | quote }} {{- end }}
Использование простого словаря (dict)
Шаблон:- $myValues := dict "myParam1" "myValue1" "myParam2" "myValue2" - Шаблон:- $myParameters := dict "Values" $myValues - Шаблон:- include "myNamedTemplate" $myParameters
Использование словаря c вложениями (dict)
Тут set делает то что от него ожидается - устанавливает значение по ключу в словаре.<BRE>
$_ нужна для того что бы "выкинуть" то что вернет функция set ( и значение $_ нигде не используется)
{{- $myValues := dict -}} {{- $myInnerValues := dict "innerVariable" "innerValue" -}} {{- $_ := set $myValues "inner" $myInnerValues -}} {{- $myParameters := dict "Values" $myValues -}} {{- include "myNamedTemplate" $myParameters }}
Глобальные переменные
If case the named template uses a .Values.global.VARIABLE , add the global dictionary as well:
Шаблон:- $myValues := dict "myParam1" "myValue1" "myParam2" "myValue2" - Шаблон:- $ := set $myValues "global" .Values.global - Шаблон:- $myParameters := dict "Values" $myValues - Шаблон:- include "myNamedTemplate" $myParameters
Перекрытие параметров
To override existing parameters, only for a specific activation, use the following:
Шаблон:- $myValues := .Values Шаблон:- $ := set $myValues "myOverrideParam" "overridenValue" - Шаблон:- $myParameters := dict "Values" $myValues - Шаблон:- include "myNamedTemplate" $myParameters
Перекрытие параметров (вложенных в словарь)
To override just a single global variable, use the following:
Шаблон:- $myValues := .Values Шаблон:- $ := set $myValues "global" .Values.global - Шаблон:- $ := set $myValues.global.OVERRIDE GLOBAL PARAMETER NAME "OVERRIDE GLOBAL PARAMETER VALUE" - Шаблон:- $myParameters := dict "Values" $myValues -