VerticalPodAutoscaler
Scope: Namespaced
Описывает конфигурацию работы механизма Vertical Pod Autoscaler для указанного контроллера.
Vertical Pod Autoscaler автоматически управляет ресурсами подов контроллера на основании исторических и текущих данных по утилизации ресурсов.
- apiVersion
Определяет версионированную схему этого представления объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации.
- kind
Значение, представляющее REST-ресурс, который описывает данный объект. Серверы могут определить его из конечной точки, к которой клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации.
- metadata
- 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.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.containerName
Название контейнера, для которого был создан чекпоинт.
- spec.vpaObjectName
Название объекта VPA, в котором хранится объект VerticalPodAutoscalerCheckpoint.
Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.
Чекпоинт внутреннего состояния VPA, используемый для восстановления после перезапуска механизма рекомендаций.
- apiVersion
Определяет версионированную схему представления этого объекта. Серверы должны преобразовывать распознанные схемы в последнее внутреннее значение и могут отклонять нераспознанные значения.
Больше информации в документации.
- kind
Значение, представляющее REST-ресурс, который описывает данный объект. Серверы могут определить его из конечной точки, к которой клиент отправляет запросы. Не может быть изменено. Используется в CamelCase.
Больше информации в документации.
- metadata
- spec.containerName
Название контейнера, для которого был создан чекпоинт.
- spec.vpaObjectName
Название объекта VPA, в котором хранится объект VerticalPodAutoscalerCheckpoint.