0Pricing
Helm Academy · Урок

Автоматические развёртывания с upgrade --install --atomic

Безопасные повторяемые развёртывания с автоматическим откатом

«Автоматические развёртывания с upgrade --install --atomic» — бесплатный урок Helm Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.

Одна команда для каждого развёртывания

В конвейере Вам нужна одна команда развёртывания, которая сработает и в первый раз, и при каждом последующем запуске. helm upgrade --install — именно такая команда. 🚀

Почему --install делает команду идемпотентной

Флаг --install сообщает Helm: установить релиз, если он отсутствует, или обновить его, если он уже существует. Условная логика в скрипте CI не нужна.

helm upgrade --install myapp ./mychart

Краткая форма -i

Вы часто будете видеть -i как сокращённую форму --install. Оба варианта означают одинаковое поведение — установку или обновление, на которое опирается автоматизация.

helm upgrade -i myapp ./mychart -f values-prod.yaml

Добавьте --atomic для безопасности

Флаг --atomic делает обновление операцией «всё или ничего»: если развёртывание завершится ошибкой, Helm автоматически откатится к предыдущей рабочей ревизии.

helm upgrade -i myapp ./mychart --atomic

atomic подразумевает ожидание

Поскольку флагу нужно определить успешность операции, --atomic включает --wait. Helm блокирует выполнение, пока ресурсы не будут готовы, а затем сохраняет изменения или отменяет их все.

Всегда задавайте --timeout

Используйте atomic вместе с явным значением --timeout, чтобы зависший под не мог навсегда остановить ваш конвейер. Когда время истекает, выполняется автоматический откат.

helm upgrade -i myapp ./mychart --atomic --timeout 5m

Зафиксируйте версию чарта

Чтобы развёртывания можно было воспроизводить, передавайте --version, чтобы CI устанавливал точную версию чарта, а не ту, которая случайно оказалась последней в репозитории.

helm upgrade -i myapp myrepo/mychart --version 1.4.2 --atomic

Корректно передавайте значения сборки

Передавайте новый тег образа из сборки с помощью --set, а остальные параметры конфигурации храните с фиксацией версий в файле значений, переданном через -f.

helm upgrade -i myapp ./mychart -f values-prod.yaml --set image.tag=$SHA

Создайте пространство имён один раз

В новом окружении добавьте --create-namespace, чтобы первое развёртывание создало пространство имён, а не завершилось ошибкой из-за отсутствующего назначения.

helm upgrade -i myapp ./mychart -n prod --create-namespace --atomic

atomic и cleanup-on-fail

Без atomic неудачная установка может оставить осиротевшие ресурсы. Используйте --cleanup-on-fail, чтобы удалить созданные ресурсы, если обновление завершится ошибкой.

Сначала аутентифицируйте исполнитель

Заданию CI нужен доступ к кластеру, поэтому перед развёртыванием загрузите kubeconfig из секрета. Helm использует этот контекст так же, как это делает kubectl.

Быстрая проверка

Автоматическое развёртывание завершается ошибкой в середине процесса. Какой флаг заставит Helm автоматически отменить изменения?

Итоги: безопасные и повторяемые развёртывания

Используйте helm upgrade -i --atomic --timeout для автоматических развёртываний, которые самостоятельно откатываются при ошибке. Одна команда — установка или обновление при каждом запуске. ✅

Часто задаваемые вопросы

Урок «Автоматические развёртывания с upgrade --install --atomic» бесплатный?

Да — полный текст урока «Автоматические развёртывания с upgrade --install --atomic» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.

Чему я научусь в уроке «Автоматические развёртывания с upgrade --install --atomic»?

Безопасные повторяемые развёртывания с автоматическим откатом Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Helm Academy?

Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Автоматические развёртывания с upgrade --install --atomic»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Helm Academy?

Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Проверки lint и template в CI
  2. Предварительный просмотр изменений с помощью helm diff
  3. Автоматические развёртывания с upgrade --install --atomic
  4. Публикация чартов из задания выпуска
← Назад к Helm Academy