VerticalPodAutoscaler

Scope: Namespaced

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

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

  • specобъект

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

    • spec.resourcePolicyобъект

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

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

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

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

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

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

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

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

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

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

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

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

            Имя ресурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • spec.targetRefобъект

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

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

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

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

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

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

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

        Тип объекта.

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

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

        Имя объекта.

    • spec.updatePolicyобъект

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

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

      • spec.updatePolicy.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объект

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

    • spec.resourcePolicyобъект

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

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

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

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

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

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

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

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

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

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

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

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

            Имя ресурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • spec.targetRefобъект

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

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

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

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

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

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

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

        Тип объекта.

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

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

        Имя объекта.

    • spec.updatePolicyобъект

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

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

      • spec.updatePolicy.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объект

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

    • spec.resourcePolicyобъект

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

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

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

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

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

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

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

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

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

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

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

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

            Имя ресурса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • spec.targetRefобъект

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

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

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

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

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

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

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

        Тип объекта.

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

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

        Имя объекта.

    • spec.updatePolicyобъект

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

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

      • spec.updatePolicy.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