Helm+Crossplane+LinkerD
March 8, 2023

Helm. Hook

Хуки используются для выполнения каких-то разовых операций перед/после выполнения(ем) helm чарта.

Например, это могут быть бекапы важных данных перед операцией helm upgrade. Или нотификации в telegram после обновления. Часто реализуются в виде объектов Job. Джоба отработала и под, созданный ею, удалился.

Для включения хука необходимо включить специальную аннотацию в файл шаблона.

annotations:
  "helm.sh/hook": pre-upgrade
  "helm.sh/hook": pre-install
  "helm.sh/hook": post-upgrade
  "helm.sh/hook": post-delete
  "helm.sh/hook": post-install

За раз можно запустить несколько хуков. Для определения последовательности выполнения хуков используется их вес. Чем ниже значение веса, тем раньше хук выполнится.

"helm.sh/hook-weight": "-5"
"helm.sh/hook-weight": "7"
"helm.sh/hook-weight": "15"

Первым выполнится хук с весом -5. Последним - с весом 15.