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.
- specobject
Required value
- spec.resourcePolicyobject
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.containerPoliciesarray of objects
Per-container resource policies.
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
- spec.resourcePolicy.containerPolicies.containerNamestring
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.controlledResourcesarray of strings
Specifies the type of recommendations that will be computed (and possibly applied) by VPA.
Default:
["ResourceCPU","ResourceMemory"]
- Element of the arraystring
ResourceName is the name identifying various resources in a ResourceList.
- Element of the arraystring
- spec.resourcePolicy.containerPolicies.controlledValuesstring
Specifies which resource values should be controlled.
Default:
"RequestsAndLimits"
Allowed values:
RequestsAndLimits
,RequestsOnly
- spec.resourcePolicy.containerPolicies.maxAllowedobject
Specifies the maximum amount of resources that will be recommended for the container. The default is no maximum.
- spec.resourcePolicy.containerPolicies.minAllowedobject
Specifies the minimal amount of resources that will be recommended for the container. The default is no minimum.
- spec.resourcePolicy.containerPolicies.modestring
Whether autoscaler is enabled for the container.
Default:
"Auto"
Allowed values:
Auto
,Off
- spec.resourcePolicy.containerPolicies.containerNamestring
- spec.resourcePolicy.containerPoliciesarray of objects
- spec.targetRefobject
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.apiVersionstring
API version of the object.
- spec.targetRef.kindstring
Required value
Object type.
- spec.targetRef.namestring
Required value
Object name.
- spec.targetRef.apiVersionstring
- spec.updatePolicyobject
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.updateModestring
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
- spec.updatePolicy.updateModestring
- spec.resourcePolicyobject
VerticalPodAutoscaler is the configuration for a vertical Pod autoscaler, which automatically manages Pod resources based on historical and real time resource utilization.
- specobject
Required value
- spec.resourcePolicyobject
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.containerPoliciesarray of objects
Per-container resource policies.
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
- spec.resourcePolicy.containerPolicies.containerNamestring
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.controlledResourcesarray of strings
Specifies the type of recommendations that will be computed (and possibly applied) by VPA.
Default:
["ResourceCPU","ResourceMemory"]
- Element of the arraystring
ResourceName is the name identifying various resources in a ResourceList.
- Element of the arraystring
- spec.resourcePolicy.containerPolicies.controlledValuesstring
Specifies which resource values should be controlled.
Default:
"RequestsAndLimits"
Allowed values:
RequestsAndLimits
,RequestsOnly
- spec.resourcePolicy.containerPolicies.maxAllowedobject
Specifies the maximum amount of resources that will be recommended for the container. The default is no maximum.
- spec.resourcePolicy.containerPolicies.minAllowedobject
Specifies the minimal amount of resources that will be recommended for the container. The default is no minimum.
- spec.resourcePolicy.containerPolicies.modestring
Whether autoscaler is enabled for the container.
Default:
"Auto"
Allowed values:
Auto
,Off
- spec.resourcePolicy.containerPolicies.containerNamestring
- spec.resourcePolicy.containerPoliciesarray of objects
- spec.targetRefobject
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.apiVersionstring
API version of the object.
- spec.targetRef.kindstring
Required value
Object type.
- spec.targetRef.namestring
Required value
Object name.
- spec.targetRef.apiVersionstring
- spec.updatePolicyobject
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.updateModestring
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
- spec.updatePolicy.updateModestring
- spec.resourcePolicyobject
VerticalPodAutoscaler is the configuration for a vertical Pod autoscaler, which automatically manages Pod resources based on historical and real time resource utilization.
- specobject
Required value
- spec.resourcePolicyobject
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.containerPoliciesarray of objects
Per-container resource policies.
ContainerResourcePolicy controls how autoscaler computes the recommended resources for a specific container.
- spec.resourcePolicy.containerPolicies.containerNamestring
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.controlledResourcesarray of strings
Specifies the type of recommendations that will be computed (and possibly applied) by VPA.
Default:
["ResourceCPU","ResourceMemory"]
- Element of the arraystring
ResourceName is the name identifying various resources in a ResourceList.
- Element of the arraystring
- spec.resourcePolicy.containerPolicies.controlledValuesstring
Specifies which resource values should be controlled.
Default:
"RequestsAndLimits"
Allowed values:
RequestsAndLimits
,RequestsOnly
- spec.resourcePolicy.containerPolicies.maxAllowedobject
Specifies the maximum amount of resources that will be recommended for the container. The default is no maximum.
- spec.resourcePolicy.containerPolicies.minAllowedobject
Specifies the minimal amount of resources that will be recommended for the container. The default is no minimum.
- spec.resourcePolicy.containerPolicies.modestring
Whether autoscaler is enabled for the container.
Default:
"Auto"
Allowed values:
Auto
,Off
- spec.resourcePolicy.containerPolicies.containerNamestring
- spec.resourcePolicy.containerPoliciesarray of objects
- spec.targetRefobject
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.apiVersionstring
API version of the object.
- spec.targetRef.kindstring
Required value
Object type.
- spec.targetRef.namestring
Required value
Object name.
- spec.targetRef.apiVersionstring
- spec.updatePolicyobject
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.updateModestring
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
- spec.updatePolicy.updateModestring
- spec.resourcePolicyobject