Контейнеры и оркестрация

Неизменяемое развёртывание

Определение

Неизменяемое развёртывание — способ выпуска приложения, при котором работающие экземпляры не правят вручную, а заменяют новыми из образа с закреплённым дайджестом. Внешние данные, конфигурация и секреты при этом меняются независимо: дайджест их не фиксирует.

Также ищут: неизменяемый deploy · replace-not-patch deployment · immutable rollout · Immutable deployment

Зачем это знать

Ручная правка файлов внутри экземпляра не создаёт новую сборку: сохранённый образ остаётся прежним. Воспроизводимый выпуск требует не только образа, но и учёта конфигурации и данных. До отката проверьте весь набор: старое приложение может уже не понимать изменённую базу.

Связи из словаря

Карта понятия

Доказательная часть

Что подтверждено

  1. Изменение шаблона Pod в Deployment создаёт новую ревизию и позволяет заменить экземпляры новой сборкой. Это отделяет выпуск от ручного исправления файлов внутри работающего контейнера.

    Граница применимости: Ревизии Deployment и неизменяемые исходные объекты образа OCI.

  2. Закреплённый дайджест фиксирует образ, но не замораживает внешнюю конфигурацию, секреты, данные и службы. Они могут изменяться независимо от содержимого образа.

    Граница применимости: Граница образа OCI и отдельно подключаемой конфигурации и ресурсов Pod Kubernetes.

  3. Неизменяемый образ не означает корневую файловую систему только для чтения. Среда выполнения может создать записываемое окружение и подключить изменяемые тома; запрет записи настраивается отдельно.

    Граница применимости: Формат образа OCI и параметры среды выполнения контейнера.

  4. Значения ConfigMap, переданные контейнеру через переменные окружения, не обновляются в уже работающем процессе автоматически. В процедуре выпуска предусмотрите замену Pod и проверку новых значений.

    Граница применимости: ConfigMap Kubernetes как источник переменных окружения. Замена Pod — процедура управляемого выпуска; другие способы обновления проверяются отдельно.

  5. ConfigMap, подключённая как том, может обновиться с задержкой; переменные окружения автоматически не обновляются. Подключение через subPath также не получает таких обновлений. Способ передачи конфигурации влияет на процедуру выпуска.

    Граница применимости: ConfigMap Kubernetes: обычный том, subPath и переменные окружения.

  6. Откат Deployment возвращает шаблон Pod, а не внешние данные. Если новый выпуск изменил их формат, запуск старого образа не доказывает восстановление: совместимость проверяют отдельно.

    Граница применимости: Граница штатного отката Deployment и внешнего состояния приложения.

Граница терминов

Не путать

Неизменяемое развёртывание Поэтапное обновление Kubernetes

Неизменяемое развёртывание фиксирует, чем заменяют экземпляры и где делают правки. RollingUpdate задаёт, как постепенно заменить их в Deployment. Первый подход не освобождает место для перехода и не проверяет совместимость данных.

Перед спецификацией

Что проверить

  1. Закрепите принятый образ по дайджесту и проверьте его происхождение.
  2. Сохраните шаблон Pod и способ получения конфигурации.
  3. Исправляйте исходники и сборку вместо ручной правки работающего экземпляра.
  4. Для ConfigMap различайте переменные окружения, обычный том и subPath.
  5. Укажите, как экземпляры получат новую конфигурацию и как это будет проверено.
  6. Версионируйте изменения данных отдельно от образа.
  7. Проверьте старую версию на данных после миграции до разрешения отката.
  8. Сохраните прежний образ, конфигурацию и необходимые данные для согласованного восстановления.
Открытые основания

Первоисточники

  • Стандарт2
  • Документация3
  • Официальная документация
    Deployments Kubernetes · Kubernetes current documentation · проверено

    Описывает управление ReplicaSet, стратегии обновления, параметры maxUnavailable и maxSurge, ход выпуска и историю для отката.

    Утверждения: 01 · 02 · 06

  • Первичная спецификация
    Open Container Initiative Image Format Specification Open Container Initiative · OCI Image Specification, November 2025 · проверено

    Определяет манифест, индекс, конфигурацию и слои образа, а также дескрипторы объектов с адресацией по содержимому.

    Утверждения: 01 · 02 · 03

  • Официальная документация
    Pods Kubernetes · Kubernetes current documentation · проверено

    Определяет Pod как минимальную единицу размещения с контейнерами на одном узле, общей сетью и возможностью подключать общие тома.

    Утверждения: 02

  • Официальная документация
    ConfigMaps Kubernetes · документация Kubernetes v1.37, страница открыта 6 сентября 2026 года · проверено

    Открыт редактором 6 сентября 2026 года, заголовок и версия документа сверены. Внешняя конфигурация; различия переменных окружения, томов и подключений subPath.

    Утверждения: 02 · 04 · 05 · 06

  • Первичная спецификация
    Open Container Initiative Runtime Specification Open Container Initiative · OCI Runtime Specification, November 2025 · проверено

    Определяет подготовленный пакет контейнера, config.json, окружение процесса и операции жизненного цикла.

    Утверждения: 03

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие