Развёртывание
apiVersion: apps/v1
import "k8s.io/api/apps/v1"
Развёртывание
Развёртывание позволяет выполнять декларативные обновления для Pod и ReplicaSet.
-
apiVersion: apps/v1
-
kind: Развёртывание
-
metadata (ObjectMeta)
Стандартные метаданные объекта. Дополнительная информация: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
-
spec (DeploymentSpec)
Описание желаемого поведения развёртывания.
-
status (DeploymentStatus)
Наиболее недавно наблюдаемое состояние развёртывания.
DeploymentSpec
DeploymentSpec — это описание желаемого поведения развёртывания.
-
selector (LabelSelector), обязательно
Селектор меток для pod. Существующие ReplicaSet, чьи pod соответствуют этому селектору, будут затронуты этим развёртыванием. Он должен соответствовать меткам шаблона pod.
-
template (PodTemplateSpec), обязательно
Шаблон описывает pod, которые будут созданы.
-
replicas (int32)
Количество желаемых pod. Это указатель, чтобы различать явное значение нуля и отсутствие значения. По умолчанию 1.
-
minReadySeconds (int32)
Минимальное количество секунд, в течение которых новый созданный pod должен быть готов без сбоев контейнеров, чтобы считаться доступным. По умолчанию 0 (pod будет считаться доступным сразу после готовности).
-
strategy (DeploymentStrategy)
Стратегия исправления: retainKeys
Стратегия развёртывания, используемая для замены существующих pod новыми.
DeploymentStrategy описывает, как заменить существующие pod новыми.
-
strategy.type (string)
Тип развёртывания. Может быть "Recreate" или "RollingUpdate". По умолчанию RollingUpdate.
-
strategy.rollingUpdate (RollingUpdateDeployment)
Параметры настройки динамического обновления. Присутствуют только если DeploymentStrategyType = RollingUpdate.
Описание желаемого поведения динамического обновления.
-
strategy.rollingUpdate.maxSurge (IntOrString)
Максимальное количество pod, которое может быть запланировано сверх желаемого количества pod. Значение может быть абсолютным числом (например, 5) или процентной долей желаемых pod (например, 10%). Это не может быть 0, если MaxUnavailable равно 0. Абсолютное число вычисляется из процента путем округления вверх. По умолчанию 25%. Пример: если это установлено на 30%, новый ReplicaSet может быть масштабирован немедленно при запуске динамического обновления, таким образом, общее количество старых и новых pod не превысит 130% от желаемого количества pod. После уничтожения старых pod, новый ReplicaSet может быть дальше масштабирован, гарантируя, что общее количество работающих pod в любой момент во время обновления не превысит 130% от желаемого количества pod.
IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML маршаллировании и унмаршаллировании он производит или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или число.
-
strategy.rollingUpdate.maxUnavailable (IntOrString)
Максимальное количество недоступных pod во время обновления. Значение может быть абсолютным числом (например, 5) или процентной долей желаемых pod (например, 10%). Абсолютное число вычисляется из процента путем округления вниз. Это не может быть 0, если MaxSurge равно 0. По умолчанию 25%. Пример: если это установлено на 30%, старый ReplicaSet может быть уменьшен до 70% от желаемого количества pod немедленно при запуске динамического обновления. После готовности новых pod, старый ReplicaSet может быть уменьшен дальше, за которым следует увеличение нового ReplicaSet, гарантируя, что общее количество доступных pod в любой момент во время обновления составляет как минимум 70% от желаемого количества pod.
IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML маршаллировании и унмаршаллировании он производит или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или число.
-
-
-
revisionHistoryLimit (int32)
Количество старых ReplicaSet для сохранения, чтобы разрешить откат. Это указатель, чтобы различать явное значение нуля и отсутствие значения. По умолчанию 10.
-
progressDeadlineSeconds (int32)
Максимальное время в секундах для развёртывания, чтобы добиться прогресса, прежде чем оно будет считаться неудачным. Контроллер развёртывания продолжит обрабатывать неудачные развёртывания, и условие с причиной ProgressDeadlineExceeded будет отображено в состоянии развёртывания. Обратите внимание, что прогресс не будет оцениваться в то время, когда развёртывание приостановлено. По умолчанию 600 сек.
-
paused (boolean)
Указывает, что развёртывание приостановлено.
DeploymentStatus
DeploymentStatus — это наиболее недавно наблюдаемое состояние развёртывания.
-
replicas (int32)
Общее количество pod, не завершённых, на которые нацелено это развёртывание (их метки соответствуют селектору).
-
availableReplicas (int32)
Общее количество доступных pod (готовых как минимум minReadySeconds), на которые нацелено это развёртывание.
-
readyReplicas (int32)
readyReplicas — это количество pod, на которые нацелено данное развёртывание, с условием Ready.
-
unavailableReplicas (int32)
Общее количество недоступных pod, на которые нацелено это развёртывание. Это общее количество pod, которые всё ещё необходимы для того, чтобы развёртывание имело 100% доступной ёмкости. Они могут быть pod, которые работают, но ещё не доступны, или pod, которые ещё не были созданы.
-
updatedReplicas (int32)
Общее количество не завершённых pod, на которые нацелено это развёртывание, имеющие желаемый шаблон спецификации.
-
collisionCount (int32)
Количество коллизий хешей для развёртывания. Контроллер развёртывания использует это поле в качестве механизма избегания коллизий при необходимости создания имени для новейшего ReplicaSet.
-
conditions ([]DeploymentCondition)
Стратегия исправления: слияние по ключу
typeПредставляет последнюю доступную информацию о текущем состоянии развёртывания.
DeploymentCondition описывает состояние развёртывания в определённый момент.
-
conditions.status (string), обязательно
Состояние условия, одно из True, False, Unknown.
-
conditions.type (string), обязательно
Тип условия развёртывания.
-
conditions.lastTransitionTime (Time)
Последний момент, когда условие перешло из одного состояния в другое.
Time — это оболочка вокруг time.Time, которая поддерживает правильную маршаллизацию в YAML и JSON. Оболочки предоставляются для многих фабричных методов, которые предлагает пакет time.
-
conditions.lastUpdateTime (Time)
Последний момент, когда это условие было обновлено.
Time — это оболочка вокруг time.Time, которая поддерживает правильную маршаллизацию в YAML и JSON. Оболочки предоставляются для многих фабричных методов, которые предлагает пакет time.
-
conditions.message (string)
Читаемое человеком сообщение, указывающее подробности о переходе.
-
conditions.reason (string)
Причина последнего перехода состояния условия.
-
-
observedGeneration (int64)
Поколение, наблюдаемое контроллером развёртывания.
СписокРазвёртываний
DeploymentList — это список развёртываний.
-
apiVersion: apps/v1
-
kind: СписокРазвёртываний
-
metadata (ListMeta)
Стандартные метаданные списка.
-
items ([]Развёртывание), обязательно
Items — это список развёртываний.
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-24.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/deployment-v1/