VerticalPodAutoscaler

Scope: Namespaced

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

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

  • spec (объект)

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

    • resourcePolicy (объект)

      Определяет, как autoscaler рассчитывает рекомендации.

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

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

      • containerPolicies (массив объектов)

        Политики VPA для конкретных контейнеров.

        • containerName (строка)

          Имя контейнера или DefaultContainerResourcePolicy (политика для контейнеров по умолчанию).

        • controlledResources (массив строк)

          Указывает тип рекомендаций, которые будут рассчитаны (и, возможно, применены) VPA.

          По умолчанию: ["ResourceCPU","ResourceMemory"]

          Имя ресурса.

        • controlledValues (строка)

          Указывает какие ресурсы контролируются.

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

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

        • maxAllowed (объект)

          Верхняя граница значений cpu и memory которые могут быть рекомендованы для контейнера.

          По умолчанию - не определена.

        • minAllowed (объект)

          Нижняя граница значений cpu и memory которые могут быть рекомендованы для контейнера.

          По умолчанию - не определена.

        • mode (строка)

          Включает или отключает работу VPA для контейнера.

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

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

    • targetRef (объект)

      Указывает на объект (контроллер в Kubernetes), к pod’ам которого применяются описываемые политики VPA.

      Поддерживаются все распространенные типы контроллеров: Deployment, StatefulSet, DaemonSet, CronJobs, а также любые пользовательские типы, реализующие подресурс scale.

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

      • apiVersion (строка)

        Версия API объекта.

      • kind (строка)

        Тип объекта.

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

      • name (строка)

        Имя объекта.

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

    • updatePolicy (объект)

      Определяет правила, как изменения будут применяться к pod’ам.

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

      • updateMode (строка)

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

        • Auto — В данный момент Auto и Recreate режимы работы делают одно и то же. Однако, когда в Kubernetes появится pod inplace resource update, данный режим будет делать именно его.
        • Recreate — Разрешает VPA изменять ресурсы у запущенных pod’ов, т.е. перезапускать их. В случае работы одного pod’а (replicas: 1) — перезапуск приведет к временной недоступности сервиса. В данном режиме VPA не пересоздает pod’ы, которые были созданы без контроллера.
        • Initial — Разрешает VPA изменять ресурсы pod’ов, но только при их создании (не во время работы).
        • Off — Запрещает VPA автоматическое изменение ресурсов. Autoscaler подсчитывает рекомендации и хранит их в поле status объекта VerticalPodAutoscaler. Посмотреть, какие ресурсы рекомендует поставить VPA можно с помощью команды kubectl describe vpa <vpa-name>.

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

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

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

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

  • spec (объект)

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

    • resourcePolicy (объект)

      Определяет, как autoscaler рассчитывает рекомендации.

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

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

      • containerPolicies (массив объектов)

        Политики VPA для конкретных контейнеров.

        • containerName (строка)

          Имя контейнера или DefaultContainerResourcePolicy (политика для контейнеров по умолчанию).

        • controlledResources (массив строк)

          Указывает тип рекомендаций, которые будут рассчитаны (и, возможно, применены) VPA.

          По умолчанию: ["ResourceCPU","ResourceMemory"]

          Имя ресурса.

        • controlledValues (строка)

          Указывает какие ресурсы контролируются.

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

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

        • maxAllowed (объект)

          Верхняя граница значений cpu и memory которые могут быть рекомендованы для контейнера.

          По умолчанию - не определена.

        • minAllowed (объект)

          Нижняя граница значений cpu и memory которые могут быть рекомендованы для контейнера.

          По умолчанию - не определена.

        • mode (строка)

          Включает или отключает работу VPA для контейнера.

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

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

    • targetRef (объект)

      Указывает на объект (контроллер в Kubernetes), к pod’ам которого применяются описываемые политики VPA.

      Поддерживаются все распространенные типы контроллеров: Deployment, StatefulSet, DaemonSet, CronJobs, а также любые пользовательские типы, реализующие подресурс scale.

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

      • apiVersion (строка)

        Версия API объекта.

      • kind (строка)

        Тип объекта.

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

      • name (строка)

        Имя объекта.

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

    • updatePolicy (объект)

      Определяет правила, как изменения будут применяться к pod’ам.

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

      • updateMode (строка)

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

        • Auto — В данный момент Auto и Recreate режимы работы делают одно и то же. Однако, когда в Kubernetes появится pod inplace resource update, данный режим будет делать именно его.
        • Recreate — Разрешает VPA изменять ресурсы у запущенных pod’ов, т.е. перезапускать их. В случае работы одного pod’а (replicas: 1) — перезапуск приведет к временной недоступности сервиса. В данном режиме VPA не пересоздает pod’ы, которые были созданы без контроллера.
        • Initial — Разрешает VPA изменять ресурсы pod’ов, но только при их создании (не во время работы).
        • Off — Запрещает VPA автоматическое изменение ресурсов. Autoscaler подсчитывает рекомендации и хранит их в поле status объекта VerticalPodAutoscaler. Посмотреть, какие ресурсы рекомендует поставить VPA можно с помощью команды kubectl describe vpa <vpa-name>.

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

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

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

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

  • spec (объект)

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

    • resourcePolicy (объект)

      Определяет, как autoscaler рассчитывает рекомендации.

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

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

      • containerPolicies (массив объектов)

        Политики VPA для конкретных контейнеров.

        • containerName (строка)

          Имя контейнера или DefaultContainerResourcePolicy (политика для контейнеров по умолчанию).

        • controlledResources (массив строк)

          Указывает тип рекомендаций, которые будут рассчитаны (и, возможно, применены) VPA.

          По умолчанию: ["ResourceCPU","ResourceMemory"]

          Имя ресурса.

        • controlledValues (строка)

          Указывает какие ресурсы контролируются.

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

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

        • maxAllowed (объект)

          Верхняя граница значений cpu и memory которые могут быть рекомендованы для контейнера.

          По умолчанию - не определена.

        • minAllowed (объект)

          Нижняя граница значений cpu и memory которые могут быть рекомендованы для контейнера.

          По умолчанию - не определена.

        • mode (строка)

          Включает или отключает работу VPA для контейнера.

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

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

    • targetRef (объект)

      Указывает на объект (контроллер в Kubernetes), к pod’ам которого применяются описываемые политики VPA.

      Поддерживаются все распространенные типы контроллеров: Deployment, StatefulSet, DaemonSet, CronJobs, а также любые пользовательские типы, реализующие подресурс scale.

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

      • apiVersion (строка)

        Версия API объекта.

      • kind (строка)

        Тип объекта.

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

      • name (строка)

        Имя объекта.

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

    • updatePolicy (объект)

      Определяет правила, как изменения будут применяться к pod’ам.

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

      • updateMode (строка)

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

        • Auto — В данный момент Auto и Recreate режимы работы делают одно и то же. Однако, когда в Kubernetes появится pod inplace resource update, данный режим будет делать именно его.
        • Recreate — Разрешает VPA изменять ресурсы у запущенных pod’ов, т.е. перезапускать их. В случае работы одного pod’а (replicas: 1) — перезапуск приведет к временной недоступности сервиса. В данном режиме VPA не пересоздает pod’ы, которые были созданы без контроллера.
        • Initial — Разрешает VPA изменять ресурсы pod’ов, но только при их создании (не во время работы).
        • Off — Запрещает VPA автоматическое изменение ресурсов. Autoscaler подсчитывает рекомендации и хранит их в поле status объекта VerticalPodAutoscaler. Посмотреть, какие ресурсы рекомендует поставить VPA можно с помощью команды kubectl describe vpa <vpa-name>.

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

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