VerticalPodAutoscaler

Scope: Namespaced
Version: v1beta1

  • spec
    • resourcePolicy (object)
      • containerPolicies (array of objects)

        Container-specific VPA policies.

        • containerName (string)

          Container name.

        • maxAllowed (object)

          The maximum amount of cpu and memory.

        • minAllowed (object)

          The minimum amount of cpu and memory.

        • mode (string)

          Enables or disables autoscaling.

          Allowed values: Auto, Off

    • targetRef (object)

      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.

      • apiVersion (string)

        API version of the object.

      • kind (string)

        Object type.

      • name (string)

        Object name.

    • updatePolicy
      • updateMode (string)

        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: Auto, Recreate, Initial, Off