VerticalPodAutoscaler

Scope: Namespaced

Описывает конфигурацию работы механизма Vertical Pod Autoscaler для указанного контроллера.

Vertical Pod Autoscaler автоматически управляет ресурсами подов контроллера на основании исторических и текущих данных по утилизации ресурсов.

  • apiVersion
    строка

    Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.

    Больше информации в документации.

  • kind
    строка

    Значение, представляющее REST-ресурс, который описывает данный объект. Серверы могут определить его из конечной точки, к которой клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.

    Больше информации в документации.

  • metadata
    объект
  • spec
    объект

    Обязательный параметр

    Описание поведения автоскейлера.

    Больше информации в документации.

    • spec.recommenders
      массив объектов

      Механизм рекомендаций, отвечающий за создание рекомендаций для данного объекта. Список должен быть пустым (тогда рекомендации создаст механизм по умолчанию) или содержать ровно один элемент.

      VerticalPodAutoscalerRecommenderSelector указывает на конкретный механизм рекомендаций для Vertical Pod Autoscaler. В будущем он может передавать параметры этому механизму.

      • spec.recommenders.name
        строка

        Обязательный параметр

        Имя компонента, отвечающего за создание рекомендаций для данного объекта.

    • spec.resourcePolicy
      объект

      Управляет тем, как автоскейлер вычисляет рекомендуемые ресурсы. Политика ресурсов может использоваться для установки ограничений на рекомендации для отдельных контейнеров.

      Если какие-либо контейнеры необходимо исключить из получения рекомендаций VPA, это следует явно указать, установив режим в значение Off в параметре containerPolicies.

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

      • spec.resourcePolicy.containerPolicies
        массив объектов

        Политики ресурсов для каждого контейнера.

        Политика ресурсов контейнера контролирует, как автоскейлер вычисляет рекомендуемые ресурсы для конкретного контейнера.

        • spec.resourcePolicy.containerPolicies.containerName
          строка

          Имя контейнера или DefaultContainerResourcePolicy, в этом случае политика применяется к контейнерам, для которых не указана собственная политика.

        • spec.resourcePolicy.containerPolicies.controlledResources
          массив строк

          Указывает тип рекомендаций, которые будут вычисляться (и, возможно, применяться) VPA. Если не указано, используется значение по умолчанию: ResourceCPU, ResourceMemory.

          По умолчанию: ["cpu","memory"]

          • Элемент массива
            строка

            Имя, которое идентифицирует различные ресурсы в списке ресурсов (ResourceList).

        • spec.resourcePolicy.containerPolicies.controlledValues
          строка

          Указывает, какие значения ресурсов должны контролироваться.

          По умолчанию: "RequestsAndLimits"

          Допустимые значения: RequestsAndLimits, RequestsOnly

        • spec.resourcePolicy.containerPolicies.maxAllowed
          объект

          Указывает максимальное количество ресурсов, которое будет рекомендовано для контейнера. По умолчанию максимальное значение не установлено.

        • spec.resourcePolicy.containerPolicies.minAllowed
          объект

          Указывает минимальное количество ресурсов, которое будет рекомендовано для контейнера. По умолчанию минимальное значение не установлено.

        • spec.resourcePolicy.containerPolicies.mode
          строка

          Указывает, включен ли автоскейлер для контейнера.

          По умолчанию: "Auto"

          Допустимые значения: Auto, Off

    • spec.targetRef
      объект

      Обязательный параметр

      Указывает на контроллер, управляющий набором подов, которые должен контролировать автоскейлер, например, Deployment или StatefulSet.

      VerticalPodAutoscaler может быть нацелен на контроллер, который реализует подресурс масштабирования (набор подов извлекается из ScaleStatus контроллера) или на другие известные контроллеры (например, для DaemonSet набор подов читается из спецификации контроллера).

      Если VerticalPodAutoscaler не может использовать указанный объект, он сообщит о состоянии ConfigUnsupported. Обратите внимание, что VerticalPodAutoscaler не требует полной реализации подресурса масштабирования — он не будет использовать его для изменения количества реплик. Единственное, что используется — это селектор меток, соответствующих подам, сгруппированным по целевому ресурсу.

      • spec.targetRef.apiVersion
        строка

        Версия API связанного объекта.

      • spec.targetRef.kind
        строка

        Обязательный параметр

        Тип связанного объекта.

        Больше информации в документации.

      • spec.targetRef.name
        строка

        Обязательный параметр

        Имя связанного объекта.

        Больше информации в документации.

    • spec.updatePolicy
      объект

      Описывает правила применения изменений к подам. Если не указано, все поля в PodUpdatePolicy устанавливаются в значения по умолчанию.

      • spec.updatePolicy.evictionRequirements
        массив объектов

        Список требований для завершения работы пода (EvictionRequirements), которые должны быть выполнены, чтобы под завершил работу (Eviction). Если указано несколько требований, все они должны быть выполнены для разрешения завершения работы.

        Определяет одно условие, которое должно быть истинным для того, чтобы под завершил работу.

        • spec.updatePolicy.evictionRequirements.changeRequirement
          строка

          Обязательный параметр

          Описывает зависимость между новым целевым рекомендуемым значением для пода и его текущими запросами, а также тип изменения, необходимого для того, чтобы под завершил работу.

          Допустимые значения: TargetHigherThanRequests, TargetLowerThanRequests

        • spec.updatePolicy.evictionRequirements.resources
          массив строк

          Обязательный параметр

          Это список одного или нескольких ресурсов, к которым применяется условие. Если указано несколько ресурсов, условие для завершения работы считается выполненным, если хотя бы один из ресурсов удовлетворяет changeRequirement.

          • Элемент массива
            строка

            Это имя, идентифицирующее различные ресурсы в списке ресурсов (ResourceList).

      • spec.updatePolicy.minReplicas
        целочисленный

        Минимальное количество реплик, которые должны быть в живом состоянии, чтобы обновляющий процесс (Updater) попытался удалить под (с учётом других проверок, таких как PDB). Разрешены только положительные значения. Перезаписывает глобальный флаг --min-replicas.

      • spec.updatePolicy.updateMode
        строка

        Режим работы контроллера VPA.

        • Auto — режимы Auto и Recreate выполняют одинаковую функцию. Этот режим зарезервирован для обновления ресурсов пода в Kubernetes.
        • Recreate — позволяет VPA изменять требования к ресурсам работающих подов (т.е. перезапускать их в процессе работы). Этот режим может привести к временной недоступности сервиса (из-за перезапуска), если у вас только одна реплика (replicas: 1). В этом режиме VPA не пересоздаёт поды, которые не были созданы контроллером.
        • Initial — VPA изменяет ресурсы подов только при их запуске (но не во время работы подов).
        • Off — VPA не предпринимает никаких действий для обновления запросов ресурсов для работающих контейнеров. Автоскейлер рассчитывает рекомендации и сохраняет их в поле статуса объекта VPA. Вы можете просмотреть рекомендации VPA с помощью следующей команды: kubectl describe vpa <vpa-name>.

        По умолчанию: "Auto"

        Допустимые значения: Off, Initial, Recreate, Auto

Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.

Описывает конфигурацию работы механизма Vertical Pod Autoscaler для указанного контроллера.

Vertical Pod Autoscaler автоматически управляет ресурсами подов контроллера на основании исторических и текущих данных по утилизации ресурсов.

  • apiVersion
    строка

    Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.

    Больше информации в документации.

  • kind
    строка

    Значение, представляющее REST-ресурс, который описывает данный объект. Серверы могут определить его из конечной точки, к которой клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.

    Больше информации в документации.

  • metadata
    объект
  • spec
    объект

    Обязательный параметр

    Описание поведения автоскейлера.

    Больше информации в документации.

    • spec.recommenders
      массив объектов

      Механизм рекомендаций, отвечающий за создание рекомендаций для данного объекта. Список должен быть пустым (тогда рекомендации создаст механизм по умолчанию) или содержать ровно один элемент.

      VerticalPodAutoscalerRecommenderSelector указывает на конкретный механизм рекомендаций для Vertical Pod Autoscaler. В будущем он может передавать параметры этому механизму.

      • spec.recommenders.name
        строка

        Обязательный параметр

        Имя компонента, отвечающего за создание рекомендаций для данного объекта.

    • spec.resourcePolicy
      объект

      Управляет тем, как автоскейлер вычисляет рекомендуемые ресурсы. Политика ресурсов может использоваться для установки ограничений на рекомендации для отдельных контейнеров.

      Если какие-либо контейнеры необходимо исключить из получения рекомендаций VPA, это следует явно указать, установив режим в значение Off в параметре containerPolicies.

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

      • spec.resourcePolicy.containerPolicies
        массив объектов

        Политики ресурсов для каждого контейнера.

        Политика ресурсов контейнера контролирует, как автоскейлер вычисляет рекомендуемые ресурсы для конкретного контейнера.

        • spec.resourcePolicy.containerPolicies.containerName
          строка

          Имя контейнера или DefaultContainerResourcePolicy, в этом случае политика применяется к контейнерам, для которых не указана собственная политика.

        • spec.resourcePolicy.containerPolicies.controlledResources
          массив строк

          Указывает тип рекомендаций, которые будут вычисляться (и, возможно, применяться) VPA. Если не указано, используется значение по умолчанию: ResourceCPU, ResourceMemory.

          По умолчанию: ["cpu","memory"]

          • Элемент массива
            строка

            Имя, которое идентифицирует различные ресурсы в списке ресурсов (ResourceList).

        • spec.resourcePolicy.containerPolicies.controlledValues
          строка

          Указывает, какие значения ресурсов должны контролироваться.

          По умолчанию: "RequestsAndLimits"

          Допустимые значения: RequestsAndLimits, RequestsOnly

        • spec.resourcePolicy.containerPolicies.maxAllowed
          объект

          Указывает максимальное количество ресурсов, которое будет рекомендовано для контейнера. По умолчанию максимальное значение не установлено.

        • spec.resourcePolicy.containerPolicies.minAllowed
          объект

          Указывает минимальное количество ресурсов, которое будет рекомендовано для контейнера. По умолчанию минимальное значение не установлено.

        • spec.resourcePolicy.containerPolicies.mode
          строка

          Указывает, включен ли автоскейлер для контейнера.

          По умолчанию: "Auto"

          Допустимые значения: Auto, Off

    • spec.targetRef
      объект

      Обязательный параметр

      Указывает на контроллер, управляющий набором подов, которые должен контролировать автоскейлер, например, Deployment или StatefulSet.

      VerticalPodAutoscaler может быть нацелен на контроллер, который реализует подресурс масштабирования (набор подов извлекается из ScaleStatus контроллера) или на другие известные контроллеры (например, для DaemonSet набор подов читается из спецификации контроллера).

      Если VerticalPodAutoscaler не может использовать указанный объект, он сообщит о состоянии ConfigUnsupported. Обратите внимание, что VerticalPodAutoscaler не требует полной реализации подресурса масштабирования — он не будет использовать его для изменения количества реплик. Единственное, что используется — это селектор меток, соответствующих подам, сгруппированным по целевому ресурсу.

      • spec.targetRef.apiVersion
        строка

        Версия API связанного объекта.

      • spec.targetRef.kind
        строка

        Обязательный параметр

        Тип связанного объекта.

        Больше информации в документации.

      • spec.targetRef.name
        строка

        Обязательный параметр

        Имя связанного объекта.

        Больше информации в документации.

    • spec.updatePolicy
      объект

      Описывает правила применения изменений к подам. Если не указано, все поля в PodUpdatePolicy устанавливаются в значения по умолчанию.

      • spec.updatePolicy.evictionRequirements
        массив объектов

        Список требований для завершения работы пода (EvictionRequirements), которые должны быть выполнены, чтобы под завершил работу (Eviction). Если указано несколько требований, все они должны быть выполнены для разрешения завершения работы.

        Определяет одно условие, которое должно быть истинным для того, чтобы под завершил работу.

        • spec.updatePolicy.evictionRequirements.changeRequirement
          строка

          Обязательный параметр

          Описывает зависимость между новым целевым рекомендуемым значением для пода и его текущими запросами, а также тип изменения, необходимого для того, чтобы под завершил работу.

          Допустимые значения: TargetHigherThanRequests, TargetLowerThanRequests

        • spec.updatePolicy.evictionRequirements.resources
          массив строк

          Обязательный параметр

          Это список одного или нескольких ресурсов, к которым применяется условие. Если указано несколько ресурсов, условие для завершения работы считается выполненным, если хотя бы один из ресурсов удовлетворяет changeRequirement.

          • Элемент массива
            строка

            Это имя, идентифицирующее различные ресурсы в списке ресурсов (ResourceList).

      • spec.updatePolicy.minReplicas
        целочисленный

        Минимальное количество реплик, которые должны быть в живом состоянии, чтобы обновляющий процесс (Updater) попытался удалить под (с учётом других проверок, таких как PDB). Разрешены только положительные значения. Перезаписывает глобальный флаг --min-replicas.

      • spec.updatePolicy.updateMode
        строка

        Режим работы контроллера VPA.

        • Auto — режимы Auto и Recreate выполняют одинаковую функцию. Этот режим зарезервирован для обновления ресурсов пода в Kubernetes.
        • Recreate — позволяет VPA изменять требования к ресурсам работающих подов (т.е. перезапускать их в процессе работы). Этот режим может привести к временной недоступности сервиса (из-за перезапуска), если у вас только одна реплика (replicas: 1). В этом режиме VPA не пересоздаёт поды, которые не были созданы контроллером.
        • Initial — VPA изменяет ресурсы подов только при их запуске (но не во время работы подов).
        • Off — VPA не предпринимает никаких действий для обновления запросов ресурсов для работающих контейнеров. Автоскейлер рассчитывает рекомендации и сохраняет их в поле статуса объекта VPA. Вы можете просмотреть рекомендации VPA с помощью следующей команды: kubectl describe vpa <vpa-name>.

        По умолчанию: "Auto"

        Допустимые значения: Off, Initial, Recreate, Auto

VerticalPodAutoscalerCheckpoint

Scope: Namespaced

Чекпоинт внутреннего состояния VPA, используемый для восстановления после перезапуска механизма рекомендаций.

  • apiVersion
    строка

    Определяет версионированную схему представления этого объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.

    Больше информации в документации.

  • kind
    строка

    Значение, представляющее REST-ресурс, который описывает данный объект. Серверы могут определить его из конечной точки, к которой клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.

    Больше информации в документации.

  • metadata
    объект
  • spec
    объект

    Спецификация чекпоинта.

    Больше информации в документации.

    • spec.containerName
      строка

      Название контейнера, для которого был создан чекпоинт.

    • spec.vpaObjectName
      строка

      Название объекта VPA, в котором хранится объект VerticalPodAutoscalerCheckpoint.

Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.

Чекпоинт внутреннего состояния VPA, используемый для восстановления после перезапуска механизма рекомендаций.

  • apiVersion
    строка

    Определяет версионированную схему представления этого объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.

    Больше информации в документации.

  • kind
    строка

    Значение, представляющее REST-ресурс, который описывает данный объект. Серверы могут определить его из конечной точки, к которой клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.

    Больше информации в документации.

  • metadata
    объект
  • spec
    объект

    Спецификация чекпоинта.

    Больше информации в документации.

    • spec.containerName
      строка

      Название контейнера, для которого был создан чекпоинт.

    • spec.vpaObjectName
      строка

      Название объекта VPA, в котором хранится объект VerticalPodAutoscalerCheckpoint.