Установка или обновление с --install
Идемпотентный шаблон обновления -i для автоматизации
«Установка или обновление с --install» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Проблема курицы и яйца
Обычная команда helm upgrade завершается ошибкой, если релиз ещё не существует. В автоматизации часто невозможно заранее знать, выполняется ли первый запуск или десятый.
Познакомьтесь с --install
Флаг --install решает эту проблему: обновляет релиз, если он существует, а иначе устанавливает его заново. Одна команда охватывает оба случая.
helm upgrade --install my-app bitnami/nginxКраткая форма -i
Вы увидите запись -i — это краткий псевдоним --install. Обе формы работают одинаково.
helm upgrade -i my-app bitnami/nginxПочему это называется идемпотентностью
Запустите команду один раз или десять раз с одинаковыми входными данными — результатом будет одно и то же состояние. Такое идемпотентное поведение бесценно для скриптов.
Для конвейеров
Задания CI/CD не могут выбирать действие в зависимости от того, существует ли уже релиз. С помощью upgrade --install один и тот же шаг развёртывания работает при каждом запуске. 🤖
Значения по-прежнему применяются
Здесь работают все обычные флаги. Используйте --set или -f точно так же, как при обычной установке или обновлении.
helm upgrade -i my-app bitnami/nginx -f prod-values.yamlСоздайте и пространство имён
При первой установке целевое пространство имён может ещё не существовать. Добавьте --create-namespace, чтобы первый запуск не завершился ошибкой из-за отсутствующего пространства имён.
helm upgrade -i my-app bitnami/nginx -n web --create-namespaceОбъедините с --atomic
Для безопасных автоматических развёртываний объедините --atomic с --install, чтобы неудачный запуск очищал за собой ресурсы в любом из двух случаев.
helm upgrade -i my-app bitnami/nginx --atomicПервый запуск — ревизия 1
Когда --install действительно выполняет установку, это считается ревизией 1, как и при обычной команде helm install. Последующие запуски выполняют обновление и увеличивают номер.
Предварительный просмотр с --dry-run
Не уверены, что сделает автоматический шаг в новом кластере? Добавьте --dry-run, чтобы увидеть отрисованный результат, ничего не изменяя.
helm upgrade -i my-app bitnami/nginx --dry-runРаспространённая однострочная команда
Эта единая повторяемая команда лежит в основе многих скриптов развёртывания: она устанавливает или обновляет релиз, создаёт пространство имён и восстанавливает состояние после сбоя. ✅
helm upgrade -i my-app ./chart -n web --create-namespace --atomicБыстрая проверка
Задание развёртывания выполняет одну и ту же команду в совершенно новом и уже существующем кластере. Что делает helm upgrade --install?
Итоги
Вы изучили идемпотентный шаблон upgrade --install (или -i): одну команду, которая устанавливает или обновляет релиз и идеально подходит для автоматизации. Для надёжности добавьте --create-namespace и --atomic. 🚀
Часто задаваемые вопросы
Урок «Установка или обновление с --install» бесплатный?
Да — полный текст урока «Установка или обновление с --install» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Установка или обновление с --install»?
Идемпотентный шаблон обновления -i для автоматизации Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Установка или обновление с --install»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Применение изменений с helm upgrade
- Установка или обновление с --install
- Просмотр истории helm
- Откат с helm rollback