Spec-Zone.ru › Kubernetes

Развертывание

Развертывание обеспечивает декларативное обновление подов и ReplicaSet.
Документация по концепции «Развертывание»
  • Развертывания

    Развертывание управляет набором подов для выполнения рабочей нагрузки приложения, обычно не сохраняющей состояние.

    1. Сценарий использования
    2. Создание развертывания
    3. Обновление развертывания
    4. Откат развертывания
    5. Масштабирование развертывания
    6. Приостановка и возобновление развертывания
    7. Состояние развертывания
    8. Политика очистки
    9. Канареечное развертывание
    10. Описание спецификации развертывания
    11. Дальнейшие шаги

apiVersion: apps/v1

import "k8s.io/api/apps/v1"

Развертывание

Развертывание обеспечивает декларативное обновление подов и ReplicaSet.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind — строковое значение, представляющее ресурс REST, который описывает этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Изменение не допускается. Используется формат CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ObjectMeta
Стандартные метаданные объекта. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec
DeploymentSpec
Спецификация желаемого поведения развертывания.
status
DeploymentStatus
Последнее наблюдаемое состояние развертывания.

DeploymentSpec

DeploymentSpec — спецификация желаемого поведения развертывания.

Поле Описание
minReadySeconds
integer
Минимальное количество секунд, в течение которых созданный под должен быть готовым, а ни один из его контейнеров не должен завершаться сбоем, чтобы под считался доступным. По умолчанию — 0 (под считается доступным сразу после перехода в состояние готовности).
paused
boolean
Указывает, что развертывание приостановлено.
progressDeadlineSeconds
integer
Максимальное время в секундах, в течение которого развертывание должно продвигаться, прежде чем будет считаться неудачным. Контроллер развертывания продолжит обработку неудачных развертываний, а в состоянии развертывания появится условие с причиной ProgressDeadlineExceeded. Обратите внимание: во время приостановки развертывания его продвижение не оценивается. По умолчанию — 600 с.
replicas
integer
Желаемое количество подов. Это указатель, позволяющий отличить явно заданное значение 0 от отсутствующего значения. По умолчанию — 1.
revisionHistoryLimit
integer
Количество старых ReplicaSet, сохраняемых для возможности отката. Это указатель, позволяющий отличить явно заданное значение 0 от отсутствующего значения. По умолчанию — 10.
selector *
LabelSelector
Селектор меток для подов. Существующие ReplicaSet, поды которых выбраны этим селектором, будут затронуты данным развертыванием. Селектор должен соответствовать меткам шаблона пода.
strategy
DeploymentStrategy
стратегия слияния при исправлении: retainKeys
Стратегия развертывания, используемая для замены существующих подов новыми.
strategy.rollingUpdate
RollingUpdateDeployment
Параметры конфигурации последовательного обновления. Присутствуют только при DeploymentStrategyType = RollingUpdate.
strategy.rollingUpdate.maxSurge
Максимальное количество подов, которое можно запланировать сверх желаемого количества подов. Значение может быть абсолютным числом (например, 5) или процентом от желаемого количества подов (например, 10%). Если MaxUnavailable равно 0, это значение не может быть равно 0. Абсолютное число вычисляется из процента с округлением вверх. По умолчанию — 25%. Например, если задано значение 30%, новый ReplicaSet можно сразу увеличить при начале последовательного обновления так, чтобы общее количество старых и новых подов не превышало 130% от желаемого количества. После удаления старых подов новый ReplicaSet можно увеличить дальше, обеспечив, чтобы общее количество подов, работающих в любой момент обновления, не превышало 130% от желаемого количества.
strategy.rollingUpdate.maxUnavailable
Максимальное количество подов, которые могут быть недоступны во время обновления. Значение может быть абсолютным числом (например, 5) или процентом от желаемого количества подов (например, 10%). Абсолютное число вычисляется из процента с округлением вниз. Если MaxSurge равно 0, это значение не может быть равно 0. По умолчанию — 25%. Например, если задано значение 30%, старый ReplicaSet можно сразу уменьшить до 70% от желаемого количества подов при начале последовательного обновления. После готовности новых подов старый ReplicaSet можно уменьшить дальше, а затем увеличить новый ReplicaSet, обеспечив, чтобы общее количество доступных подов на протяжении всего обновления составляло не менее 70% от желаемого количества.
strategy.type
string
Тип развертывания. Может быть "Recreate" или "RollingUpdate". По умолчанию — RollingUpdate.

Возможные значения перечисления:
- `"Recreate"` Удалить все существующие поды перед созданием новых.
- `"RollingUpdate"` Заменить старые ReplicaSet новыми с помощью последовательного обновления: постепенно уменьшать количество старых ReplicaSet и увеличивать количество новых.
template *
PodTemplateSpec
Шаблон описывает создаваемые поды. Единственное допустимое значение template.spec.restartPolicy — "Always".

DeploymentStatus

DeploymentStatus — последнее наблюдаемое состояние развертывания.

Поле Описание
availableReplicas
integer
Общее количество доступных подов, не находящихся в процессе завершения (готовых не менее minReadySeconds), на которые нацелено это развертывание.
collisionCount
integer
Количество коллизий хешей для развертывания. Контроллер развертывания использует это поле для предотвращения коллизий при создании имени новейшего ReplicaSet.
conditions
Массив DeploymentCondition
стратегия слияния при исправлении: слияние по ключу type
Представляет последние доступные наблюдения за текущим состоянием развертывания.
observedGeneration
integer
Поколение, наблюдаемое контроллером развертывания.
readyReplicas
integer
Общее количество подов, не находящихся в процессе завершения, на которые нацелено это развертывание и у которых есть условие Ready.
replicas
integer
Общее количество подов, не находящихся в процессе завершения, на которые нацелено это развертывание (их метки соответствуют селектору).
terminatingReplicas
integer
Общее количество завершающихся подов, на которые нацелено это развертывание. У завершающихся подов поле .metadata.deletionTimestamp имеет ненулевое значение, а поле .status.phase еще не достигло состояния Failed или Succeeded. Это поле находится на стадии бета-тестирования и требует включения функции DeploymentReplicaSetTerminatingReplicas (включена по умолчанию).
unavailableReplicas
integer
Общее количество недоступных подов, на которые нацелено это развертывание. Это общее количество подов, которые еще необходимы для обеспечения 100% доступной емкости развертывания. Это могут быть работающие, но еще недоступные поды, либо поды, которые еще не созданы.
updatedReplicas
integer
Общее количество подов, не находящихся в процессе завершения, на которые нацелено это развертывание и которые имеют желаемую спецификацию шаблона.

DeploymentList

DeploymentList — это список развертываний.

Поле Описание
apiVersion
string
APIVersion определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
Массив Deployment
Items — это список развертываний.
kind
string
Kind — строковое значение, представляющее ресурс REST, который описывает этот объект. Серверы могут определить его по конечной точке, на которую клиент отправляет запросы. Изменение не допускается. Используется формат CamelCase. Подробнее: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
ListMeta
Стандартные метаданные списка.

DeploymentCondition

DeploymentCondition описывает состояние развертывания в определенный момент времени.

Поле Описание
lastTransitionTime
Time
Время последнего перехода условия из одного состояния в другое.
lastUpdateTime
Time
Время последнего обновления этого условия.
message
string
Понятное человеку сообщение с подробной информацией о переходе.
reason
string
Причина последнего перехода условия.
status *
string
Состояние условия: True, False или Unknown.
type *
string
Тип условия развертывания.

© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2026 The Linux Foundation ®. All rights reserved.
https://kubernetes.io/docs/reference/kubernetes-api/apps/deployment-v1/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API