Spec-Zone.ru › Kubernetes 1.28

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

Развёртывание позволяет выполнять декларативные обновления для Pods и ReplicaSets.

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/

Spec-Zone.ru

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