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.

        • 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.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.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

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.

        • 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.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.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

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.

        • 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.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.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