Что такое хуки и когда они запускаются
pre-install, post-upgrade и полный набор событий
«Что такое хуки и когда они запускаются» — бесплатный урок Helm Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.
Зачем нужны хуки
Иногда работу нужно выполнить в точно определённый момент выпуска, например заполнить базу данных начальными данными. Хук Helm запускает ресурс в выбранный момент жизненного цикла.
Хук — это просто аннотированный ресурс
Хук — это обычный манифест Kubernetes с одной дополнительной аннотацией. Аннотация helm.sh/hook сообщает Helm, что ресурс нужно обрабатывать особым образом, а не как обычное содержимое релиза.
metadata:
annotations:
"helm.sh/hook": pre-installСобытия установки
При новой установке срабатывают два события. pre-install выполняется до создания ресурсов чарта, а post-install — после их применения.
"helm.sh/hook": pre-installСобытия обновления
У обновлений есть собственная пара событий. pre-upgrade срабатывает до применения обновления, а post-upgrade — после размещения новых ресурсов.
"helm.sh/hook": pre-upgrade,post-upgradeСобытия отката
Откат к предыдущей редакции также запускает хуки. pre-rollback выполняется до возврата, а post-rollback — после восстановления прежнего состояния.
События удаления
При удалении срабатывает пара событий. pre-delete выполняется до удаления ресурсов, оставляя вам время заранее освободить ресурсы или создать резервные копии.
"helm.sh/hook": pre-deleteСобытие test
Есть ещё одно особое событие. Хук test не срабатывает при установке; он запускается только когда вы выполняете helm test для существующего релиза.
"helm.sh/hook": testХуки часто являются заданиями
Большинство хуков — это Kubernetes Job, поскольку задание выполняется до конца и сообщает об успехе. Helm ждёт завершения этого Job, прежде чем продолжить работу с релизом.
kind: Job
metadata:
annotations:
"helm.sh/hook": post-installHelm ждёт успешного завершения
Для каждого веса Helm ждёт, пока ресурс хука не достигнет состояния готовности, и только после этого продолжает работу. Неудачный хук останавливает всю установку или обновление.
Вне обычного отслеживания
Ресурсы хуков существуют вне обычного жизненного цикла релиза. Они не обновляются вместе с чартом, поэтому их удаление нужно настраивать с помощью отдельных политик удаления.
Объединяйте несколько событий
Один ресурс может использоваться в нескольких случаях. Перечислите события вместе, например post-install,post-upgrade, чтобы одно и то же задание запускалось после новой установки и обновления.
"helm.sh/hook": post-install,post-upgradeБыстрая проверка
Вы хотите, чтобы Job запустился после первой установки нового чарта.
Повторение
Хуки — это аннотированные манифесты, срабатывающие при событиях жизненного цикла: установке, обновлении, откате, удалении и тестировании. Helm ждёт успешного завершения каждого из них. 🪝
Часто задаваемые вопросы
Урок «Что такое хуки и когда они запускаются» бесплатный?
Да — полный текст урока «Что такое хуки и когда они запускаются» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.
Чему я научусь в уроке «Что такое хуки и когда они запускаются»?
pre-install, post-upgrade и полный набор событий Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Helm Academy?
Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Что такое хуки и когда они запускаются»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Helm Academy?
Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что такое хуки и когда они запускаются
- Задание миграции DB перед обновлением
- Вес и порядок хуков
- Политики удаления хуков