Развёртывание
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 — это спецификация желаемого поведения развёртывания.
-
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)
Параметры конфигурации RollingUpdate. Присутствуют только если DeploymentStrategyType = RollingUpdate.
Спецификация для управления желаемым поведением RollingUpdate.
-
strategy.rollingUpdate.maxSurge (IntOrString)
Максимальное количество Pod, которые могут быть запланированы сверх желаемого количества Pod. Значение может быть абсолютным числом (например, 5) или процентом от желаемого количества Pod (например, 10%). Не может быть 0, если MaxUnavailable — 0. Абсолютное число вычисляется из процента с округлением вверх. По умолчанию 25%. Пример: когда это значение установлено на 30%, новый ReplicaSet может быть сразу же масштабирован вверх при запуске RollingUpdate так, что общее количество старых и новых 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 сразу же при запуске RollingUpdate. После того, как новые Pod будут готовы, старый ReplicaSet может быть уменьшен ещё дальше, за которым следует увеличение нового ReplicaSet, гарантируя, что общее количество доступных Pod в любое время во время обновления не менее 70% от желаемого количества Pod.
IntOrString — это тип, который может содержать int32 или строку. При использовании в JSON или YAML маршаллировании и унмаршаллировании он производит или потребляет внутренний тип. Это позволяет, например, иметь JSON-поле, которое может принимать имя или число.
-
-
-
revisionHistoryLimit (int32)
Количество старых ReplicaSet, которые необходимо сохранить для отката. Это указатель для различения явного нуля и отсутствия значения. По умолчанию 10.
-
progressDeadlineSeconds (int32)
Максимальное время в секундах, в течение которого развёртывание должно прогрессировать, прежде чем оно будет считаться неудачным. Контроллер развёртываний будет продолжать обрабатывать неудачные развёртывания, и условие с причиной ProgressDeadlineExceeded будет отображено в состоянии развёртывания. Обратите внимание, что прогресс не будет оцениваться в то время, когда развёртывание приостановлено. По умолчанию 600с.
-
paused (boolean)
Указывает, что развёртывание приостановлено.
Состояние развёртывания
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 ([]Deployment), обязательно
Items — это список развёртываний.
© 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0
Copyright © 2022 The Linux Foundation ®. All rights reserved.
https://v1-25.docs.kubernetes.io/docs/reference/kubernetes-api/workload-resources/deployment-v1/