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 с помощью следующей команды:d8 k describe vpa <vpa-name>.InPlaceOrRecreate- (beta). Работает только в kubernetes 1.33. VPA сначала попытается изменить ресурсы пода без перезагрузки, при невозможности пересоздаст его.
По умолчанию:
AutoДопустимые значения:
Off,Initial,Recreate,Auto,InPlaceOrRecreate
Устаревший ресурс. Поддержка ресурса может быть исключена в следующих версиях.
Описывает конфигурацию работы механизма 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 с помощью следующей команды:d8 k describe vpa <vpa-name>.InPlaceOrRecreate- (beta). Работает только в kubernetes 1.33. VPA сначала попытается изменить ресурсы пода без перезагрузки, при невозможности пересоздаст его.
По умолчанию:
AutoДопустимые значения:
Off,Initial,Recreate,Auto,InPlaceOrRecreate
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.