VerticalPodAutoscaler

Scope: Namespaced

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

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

  • spec
    объект

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

    • spec.resourcePolicy
      объект

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

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

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

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

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

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

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

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

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

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

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

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

            Имя ресурса.

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

        • 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), к подам которого применяются описываемые политики VPA.

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

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

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

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

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

        Тип объекта.

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

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

        Имя объекта.

    • spec.updatePolicy
      объект

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

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

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

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

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

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

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

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

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

  • spec
    объект

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

    • spec.resourcePolicy
      объект

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

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

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

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

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

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

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

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

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

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

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

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

            Имя ресурса.

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

        • 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), к подам которого применяются описываемые политики VPA.

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

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

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

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

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

        Тип объекта.

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

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

        Имя объекта.

    • spec.updatePolicy
      объект

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

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

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

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

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

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

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

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

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

  • spec
    объект

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

    • spec.resourcePolicy
      объект

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

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

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

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

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

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

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

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

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

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

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

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

            Имя ресурса.

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

        • 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), к подам которого применяются описываемые политики VPA.

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

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

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

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

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

        Тип объекта.

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

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

        Имя объекта.

    • spec.updatePolicy
      объект

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

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

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

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

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

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

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