VerticalPodAutoscaler
Scope: Namespaced
VerticalPodAutoscaler is the configuration for a vertical Pod autoscaler, which automatically manages Pod resources based on historical and real time resource utilization.
- spec
Required value
- spec.resourcePolicy
Controls how the autoscaler computes recommended resources. The resource policy may be used to set constraints on the recommendations for individual containers. If not specified, the autoscaler computes recommended resources for all containers in the pod, without additional constraints.
- spec.resourcePolicy.containerPolicies
Per-container resource policies.
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
- spec.resourcePolicy.containerPolicies.containerName
Name of the container or DefaultContainerResourcePolicy, in which case the policy is used by the containers that don’t have their own policy specified.
- spec.resourcePolicy.containerPolicies.controlledResources
Specifies the type of recommendations that will be computed (and possibly applied) by VPA.
Default:
["cpu","memory"]
- Element of the array
ResourceName is the name identifying various resources in a ResourceList.
Allowed values:
cpu
,memory
- spec.resourcePolicy.containerPolicies.controlledValues
Specifies which resource values should be controlled.
Default:
"RequestsAndLimits"
Allowed values:
RequestsAndLimits
,RequestsOnly
- spec.resourcePolicy.containerPolicies.maxAllowed
Specifies the maximum amount of resources that will be recommended for the container. The default is no maximum.
- spec.resourcePolicy.containerPolicies.minAllowed
Specifies the minimal amount of resources that will be recommended for the container. The default is no minimum.
- spec.resourcePolicy.containerPolicies.mode
Whether autoscaler is enabled for the container.
Default:
"Auto"
Allowed values:
Auto
,Off
- spec.targetRef
Required value
Refers to a Kubernetes controller object responsible for managing pods.
All common controller types are supported:
Deployment
,StatefulSet
,DaemonSet
,CronJobs
, and any custom types with a scale sub-resource.- spec.targetRef.apiVersion
API version of the object.
- spec.targetRef.kind
Required value
Object type.
- spec.targetRef.name
Required value
Object name.
- spec.updatePolicy
Describes the rules on how changes are applied to the pods. If not specified, all fields in the
PodUpdatePolicy
are set to their default values.- spec.updatePolicy.updateMode
The operation mode of the VPA controller
Auto
— currently, Auto and Recreate modes do the same thing. This mode is reserved for the Pod inplace resource update in Kubernetes.Recreate
— this mode allows VPA to modify resource requirements of the running pods (i.e., restart them during operation). This mode might result in temporary unavailability of the service (due to restart) if you have just one replica (replicas: 1). In this mode, VPA does not recreate pods that were not created by a controller.Initial
— VPA modifies pod resources only when pods are started (but not when pods are running).Off
— VPA does not take any action to update the resource requests for the running containers. Autoscaler calculates recomendations and stores them in the status field of the VPA object. You can browse VPA recommendations using the following command:kubectl describe vpa <vpa-name>
.
Default:
"Auto"
Allowed values:
Off
,Initial
,Recreate
,Auto
Deprecated resource. Support for the resource might be removed in a later release.
VerticalPodAutoscaler is the configuration for a vertical Pod autoscaler, which automatically manages Pod resources based on historical and real time resource utilization.
- spec
Required value
- spec.resourcePolicy
Controls how the autoscaler computes recommended resources. The resource policy may be used to set constraints on the recommendations for individual containers. If not specified, the autoscaler computes recommended resources for all containers in the pod, without additional constraints.
- spec.resourcePolicy.containerPolicies
Per-container resource policies.
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
- spec.resourcePolicy.containerPolicies.containerName
Name of the container or DefaultContainerResourcePolicy, in which case the policy is used by the containers that don’t have their own policy specified.
- spec.resourcePolicy.containerPolicies.controlledResources
Specifies the type of recommendations that will be computed (and possibly applied) by VPA.
Default:
["cpu","memory"]
- Element of the array
ResourceName is the name identifying various resources in a ResourceList.
Allowed values:
cpu
,memory
- spec.resourcePolicy.containerPolicies.controlledValues
Specifies which resource values should be controlled.
Default:
"RequestsAndLimits"
Allowed values:
RequestsAndLimits
,RequestsOnly
- spec.resourcePolicy.containerPolicies.maxAllowed
Specifies the maximum amount of resources that will be recommended for the container. The default is no maximum.
- spec.resourcePolicy.containerPolicies.minAllowed
Specifies the minimal amount of resources that will be recommended for the container. The default is no minimum.
- spec.resourcePolicy.containerPolicies.mode
Whether autoscaler is enabled for the container.
Default:
"Auto"
Allowed values:
Auto
,Off
- spec.targetRef
Required value
Refers to a Kubernetes controller object responsible for managing pods.
All common controller types are supported:
Deployment
,StatefulSet
,DaemonSet
,CronJobs
, and any custom types with a scale sub-resource.- spec.targetRef.apiVersion
API version of the object.
- spec.targetRef.kind
Required value
Object type.
- spec.targetRef.name
Required value
Object name.
- spec.updatePolicy
Describes the rules on how changes are applied to the pods. If not specified, all fields in the
PodUpdatePolicy
are set to their default values.- spec.updatePolicy.updateMode
The operation mode of the VPA controller
Auto
— currently, Auto and Recreate modes do the same thing. This mode is reserved for the Pod inplace resource update in Kubernetes.Recreate
— this mode allows VPA to modify resource requirements of the running pods (i.e., restart them during operation). This mode might result in temporary unavailability of the service (due to restart) if you have just one replica (replicas: 1). In this mode, VPA does not recreate pods that were not created by a controller.Initial
— VPA modifies pod resources only when pods are started (but not when pods are running).Off
— VPA does not take any action to update the resource requests for the running containers. Autoscaler calculates recomendations and stores them in the status field of the VPA object. You can browse VPA recommendations using the following command:kubectl describe vpa <vpa-name>
.
Default:
"Auto"
Allowed values:
Off
,Initial
,Recreate
,Auto
Deprecated resource. Support for the resource might be removed in a later release.
VerticalPodAutoscaler is the configuration for a vertical Pod autoscaler, which automatically manages Pod resources based on historical and real time resource utilization.
- spec
Required value
- spec.resourcePolicy
Controls how the autoscaler computes recommended resources. The resource policy may be used to set constraints on the recommendations for individual containers. If not specified, the autoscaler computes recommended resources for all containers in the pod, without additional constraints.
- spec.resourcePolicy.containerPolicies
Per-container resource policies.
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
- spec.resourcePolicy.containerPolicies.containerName
Name of the container or DefaultContainerResourcePolicy, in which case the policy is used by the containers that don’t have their own policy specified.
- spec.resourcePolicy.containerPolicies.controlledResources
Specifies the type of recommendations that will be computed (and possibly applied) by VPA.
Default:
["cpu","memory"]
- Element of the array
ResourceName is the name identifying various resources in a ResourceList.
Allowed values:
cpu
,memory
- spec.resourcePolicy.containerPolicies.controlledValues
Specifies which resource values should be controlled.
Default:
"RequestsAndLimits"
Allowed values:
RequestsAndLimits
,RequestsOnly
- spec.resourcePolicy.containerPolicies.maxAllowed
Specifies the maximum amount of resources that will be recommended for the container. The default is no maximum.
- spec.resourcePolicy.containerPolicies.minAllowed
Specifies the minimal amount of resources that will be recommended for the container. The default is no minimum.
- spec.resourcePolicy.containerPolicies.mode
Whether autoscaler is enabled for the container.
Default:
"Auto"
Allowed values:
Auto
,Off
- spec.targetRef
Required value
Refers to a Kubernetes controller object responsible for managing pods.
All common controller types are supported:
Deployment
,StatefulSet
,DaemonSet
,CronJobs
, and any custom types with a scale sub-resource.- spec.targetRef.apiVersion
API version of the object.
- spec.targetRef.kind
Required value
Object type.
- spec.targetRef.name
Required value
Object name.
- spec.updatePolicy
Describes the rules on how changes are applied to the pods. If not specified, all fields in the
PodUpdatePolicy
are set to their default values.- spec.updatePolicy.updateMode
The operation mode of the VPA controller
Auto
— currently, Auto and Recreate modes do the same thing. This mode is reserved for the Pod inplace resource update in Kubernetes.Recreate
— this mode allows VPA to modify resource requirements of the running pods (i.e., restart them during operation). This mode might result in temporary unavailability of the service (due to restart) if you have just one replica (replicas: 1). In this mode, VPA does not recreate pods that were not created by a controller.Initial
— VPA modifies pod resources only when pods are started (but not when pods are running).Off
— VPA does not take any action to update the resource requests for the running containers. Autoscaler calculates recomendations and stores them in the status field of the VPA object. You can browse VPA recommendations using the following command:kubectl describe vpa <vpa-name>
.
Default:
"Auto"
Allowed values:
Off
,Initial
,Recreate
,Auto
VerticalPodAutoscalerCheckpoint
Scope: Namespaced
VerticalPodAutoscalerCheckpoint is the checkpoint of the internal state of VPA that is used for recovery after recommender’s restart.
- spec
- spec.containerName
Name of the checkpointed container.
- spec.vpaObjectName
Name of the VPA object that stored VerticalPodAutoscalerCheckpoint object.
Deprecated resource. Support for the resource might be removed in a later release.
VerticalPodAutoscalerCheckpoint is the checkpoint of the internal state of VPA that is used for recovery after recommender’s restart.
- spec
- spec.containerName
Name of the checkpointed container.
- spec.vpaObjectName
Name of the VPA object that stored VerticalPodAutoscalerCheckpoint object.
Deprecated resource. Support for the resource might be removed in a later release.
VerticalPodAutoscalerCheckpoint is the checkpoint of the internal state of VPA that is used for recovery after recommender’s restart.
- spec
- spec.containerName
Name of the checkpointed container.
- spec.vpaObjectName
Name of the VPA object that stored VerticalPodAutoscalerCheckpoint object.