Развёртывание
apiVersion: apps/v1
import "k8s.io/api/apps/v1"
Развёртывание
Развёртывание позволяет выполнять декларативные обновления для Pods и ReplicaSets.
-
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), обязательно
Селектор меток для Pods. Существующие ReplicaSets, чьи Pods соответствуют этому селектору, будут затронуты этим развёртыванием. Он должен соответствовать меткам шаблона Pod.
-
template (PodTemplateSpec), обязательно
Шаблон описывает Pod, которые будут созданы. Единственное разрешённое значение template.spec.restartPolicy — "Always".
-
replicas (int32)
Количество желаемых Pods. Это указатель для различения явного нуля и отсутствия значения. По умолчанию 1.
-
minReadySeconds (int32)
Минимальное количество секунд, в течение которых только что созданный Pod должен быть готов без сбоев контейнера, чтобы считаться доступным. По умолчанию 0 (Pod будет считаться доступным, как только он будет готов).
-
strategy (DeploymentStrategy)
Стратегия патча: retainKeys
Стратегия развёртывания, используемая для замены существующих Pods новыми.
DeploymentStrategy описывает, как заменить существующие Pods новыми.
-
strategy.type (string)
Тип развёртывания. Может быть "Recreate" или "RollingUpdate". По умолчанию RollingUpdate.
-
strategy.rollingUpdate (RollingUpdateDeployment)
Параметры конфигурации роллинг-обновления. Присутствуют только если DeploymentStrategyType = RollingUpdate.
Описание желаемого поведения роллинг-обновления.
-
strategy.rollingUpdate.maxSurge (IntOrString)
Максимальное количество Pods, которые могут быть запланированы сверх желаемого количества Pods. Значение может быть абсолютным числом (например, 5) или процентом от желаемого количества Pods (например, 10%). Не может быть 0, если MaxUnavailable равно 0. Абсолютное число вычисляется из процента путем округления вверх. По умолчанию 25%. Пример: если это значение установлено на 30%, новый ReplicaSet может быть сразу же масштабирован вверх при запуске роллинг-обновления таким образом, чтобы общее количество старых и новых Pods не превышало 130% от желаемого количества Pods. После уничтожения старых Pods новый ReplicaSet может быть дополнительно масштабирован вверх, гарантируя, что общее количество работающих Pods в любой момент во время обновления не превышает 130% от желаемого количества Pods.
IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML маршалинге и унмаршалинге он создает или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или число.
-
strategy.rollingUpdate.maxUnavailable (IntOrString)
Максимальное количество Pods, которые могут быть недоступны во время обновления. Значение может быть абсолютным числом (например, 5) или процентом от желаемого количества Pods (например, 10%). Абсолютное число вычисляется из процента путем округления вниз. Не может быть 0, если MaxSurge равно 0. По умолчанию 25%. Пример: если это значение установлено на 30%, старый ReplicaSet может быть сразу же уменьшен до 70% от желаемого количества Pods при запуске роллинг-обновления. После того, как новые Pods будут готовы, старый ReplicaSet может быть уменьшен дальше, за которым следует масштабирование вверх нового ReplicaSet, гарантируя, что общее количество доступных Pods в любой момент во время обновления не менее 70% от желаемого количества Pods.
IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML маршалинге и унмаршалинге он создает или потребляет внутренний тип. Это позволяет, например, иметь поле JSON, которое может принимать имя или число.
-
-
-
revisionHistoryLimit (int32)
Количество старых ReplicaSets, которые необходимо сохранить для отката. Это указатель для различения явного нуля и отсутствия значения. По умолчанию 10.
-
progressDeadlineSeconds (int32)
Максимальное время в секундах для развёртывания, чтобы достичь прогресса, прежде чем оно будет считаться проваленным. Контроллер развёртывания будет продолжать обрабатывать проваленные развёртывания, и будет отображаться условие с причиной ProgressDeadlineExceeded в статусе развёртывания. Обратите внимание, что прогресс не будет оцениваться в то время, когда развёртывание приостановлено. По умолчанию 600 секунд.
-
paused (boolean)
Указывает, что развёртывание приостановлено.
DeploymentStatus
DeploymentStatus — это наиболее недавно наблюдаемое состояние развёртывания.
-
replicas (int32)
Общее количество Pods, не завершивших работу, на которые нацелено данное развёртывание (их метки соответствуют селектору).
-
availableReplicas (int32)
Общее количество доступных Pods (готовых как минимум на minReadySeconds), на которые нацелено данное развёртывание.
-
readyReplicas (int32)
readyReplicas — это количество Pods, на которые нацелено данное развёртывание, с условием Ready.
-
unavailableReplicas (int32)
Общее количество недоступных Pods, на которые нацелено данное развёртывание. Это общее количество Pods, которые все ещё необходимы для развёртывания, чтобы иметь 100% доступности. Они могут быть Pods, которые работают, но ещё не доступны, или Pods, которые ещё не были созданы.
-
updatedReplicas (int32)
Общее количество Pods, не завершивших работу, на которые нацелено данное развёртывание и которые имеют желаемый шаблон спецификации.
-
collisionCount (int32)
Количество коллизий хешей для развёртывания. Контроллер развёртывания использует это поле в качестве механизма предотвращения коллизий при необходимости создания имени для самого нового ReplicaSet.
-
conditions ([]DeploymentCondition)
Стратегия патча: merge по ключу
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)
Генерирование, наблюдаемое контроллером развёртывания.
СписокРазвёртываний
СписокРазвёртываний — это список развёртываний.
-
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-27.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/deployment-v1/