VerticalPodAutoscaler
autoscaling.k8s.io / v1
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
Specification of the behavior of the autoscaler.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
recommenders []object
Recommender responsible for generating recommendation for this object.
List should be empty (then the default recommender will generate the
recommendation) or contain exactly one recommender.
name
string required
Name of the recommender responsible for generating recommendation for this object.
resourcePolicy object
Controls how the autoscaler computes recommended resources.
The resource policy may be used to set constraints on the recommendations
for individual containers.
If any individual containers need to be excluded from getting the VPA recommendations, then
it must be disabled explicitly by setting mode to "Off" under containerPolicies.
If not specified, the autoscaler computes recommended resources for all containers in the pod,
without additional constraints.
containerPolicies []object
Per-container resource policies.
containerName
string
Name of the container or DefaultContainerResourcePolicy, in which
case the policy is used by the containers that don't have their own
policy specified.
controlledResources
[]string
Specifies the type of recommendations that will be computed
(and possibly applied) by VPA.
If not specified, the default of [ResourceCPU, ResourceMemory] will be used.
controlledValues
string
Specifies which resource values should be controlled.
The default is "RequestsAndLimits".
enum:
RequestsAndLimits, RequestsOnly
maxAllowed
object
Specifies the maximum amount of resources that will be recommended
for the container. The default is no maximum.
memoryAggregationIntervalCount
integer
memoryAggregationIntervalCount is the number of consecutive
memoryAggregationIntervals which make up the memory aggregation window.
The total window length is:
MemoryAggregationIntervalSeconds * MemoryAggregationIntervalCount.
format:
int64minimum:
1
memoryAggregationIntervalSeconds
integer
memoryAggregationIntervalSeconds is the length of a single interval
(in seconds) for which the peak memory usage is computed.
Memory usage peaks are aggregated in multiples of this interval.
In other words, there is one memory usage sample per interval
(the maximum usage over that interval).
format:
int32minimum:
1
minAllowed
object
Specifies the minimal amount of resources that will be recommended
for the container. The default is no minimum.
mode
string
Whether autoscaler is enabled for the container. The default is "Auto".
enum:
Auto, Off
oomBumpUpRatio
string | integer
oomBumpUpRatio is the ratio to increase memory when OOM is detected.
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
oomMinBumpUp
string | integer
oomMinBumpUp is the minimum increase in memory when OOM is detected.
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$startupBoost object
startupBoost specifies the startup boost policy for the container.
This overrides any pod-level startup boost policy.
The startup boost policy takes precedence over the rest of the fields in
this struct, except for ContainerName and ControlledValues.
cpu object
cpu specifies the CPU startup boost policy.
If this field is not set, no startup boost is applied.
durationSeconds
integer
durationSeconds indicates for how long to keep the pod boosted after it goes to Ready.
Defaults to 0.
format:
int32
factor
integer
factor specifies the factor to apply to the resource request.
This field is required when Type is "Factor".
format:
int32
quantity
string | integer
quantity specifies the absolute resource quantity to be used as the
resource request and limit during the boost phase.
This field is required when Type is "Quantity".
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
type
string required
type specifies the kind of boost to apply.
Supported values are: "Factor", "Quantity".
No startupboost will be applied for unrecognized values.
enum:
Factor, QuantitystartupBoost object
startupBoost specifies the startup boost policy for the pod.
cpu object
cpu specifies the CPU startup boost policy.
If this field is not set, no startup boost is applied.
durationSeconds
integer
durationSeconds indicates for how long to keep the pod boosted after it goes to Ready.
Defaults to 0.
format:
int32
factor
integer
factor specifies the factor to apply to the resource request.
This field is required when Type is "Factor".
format:
int32
quantity
string | integer
quantity specifies the absolute resource quantity to be used as the
resource request and limit during the boost phase.
This field is required when Type is "Quantity".
string pattern:
^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
type
string required
type specifies the kind of boost to apply.
Supported values are: "Factor", "Quantity".
No startupboost will be applied for unrecognized values.
enum:
Factor, QuantitytargetRef object required
TargetRef points to the controller managing the set of pods for the
autoscaler to control - e.g. Deployment, StatefulSet. VerticalPodAutoscaler
can be targeted at controller implementing scale subresource (the pod set is
retrieved from the controller's ScaleStatus) or some well known controllers
(e.g. for DaemonSet the pod set is read from the controller's spec).
If VerticalPodAutoscaler cannot use specified target it will report
ConfigUnsupported condition.
Note that VerticalPodAutoscaler does not require full implementation
of scale subresource - it will not use it to modify the replica count.
The only thing retrieved is a label selector matching pods grouped by
the target resource.
apiVersion
string
apiVersion is the API version of the referent
kind
string required
kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
name
string required
name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
updatePolicy object
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.
evictAfterOOMSeconds
integer
evictAfterOOMSeconds specifies the time in seconds to wait after an OOM event before
considering the pod for eviction. Pods that have OOMed in less than this time
since start will be evicted.
format:
int32minimum:
1evictionRequirements []object
EvictionRequirements is a list of EvictionRequirements that need to
evaluate to true in order for a Pod to be evicted. If more than one
EvictionRequirement is specified, all of them need to be fulfilled to allow eviction.
changeRequirement
string required
EvictionChangeRequirement refers to the relationship between the new target recommendation for a Pod and its current requests, what kind of change is necessary for the Pod to be evicted
enum:
TargetHigherThanRequests, TargetLowerThanRequests
resources
[]string required
Resources is a list of one or more resources that the condition applies
to. If more than one resource is given, the EvictionRequirement is fulfilled
if at least one resource meets `changeRequirement`.
minReplicas
integer
Minimal number of replicas which need to be alive for Updater to attempt
pod eviction (pending other checks like PDB). Only positive values are
allowed. Overrides global '--min-replicas' flag.
format:
int32
updateMode
string
Controls when autoscaler applies changes to the pod resources.
The default is 'Recreate'.
enum:
Off, Initial, Recreate, InPlaceOrRecreate, InPlace, Autostatus object
Current information about the autoscaler.
conditions []object
Conditions is the set of conditions required for this autoscaler to scale its target,
and indicates whether or not those conditions are met.
lastTransitionTime
string
lastTransitionTime is the last time the condition transitioned from
one status to another
format:
date-time
message
string
message is a human-readable explanation containing details about
the transition
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string
reason is the reason for the condition's last transition.
status
string required
status is the status of the condition (True, False, Unknown)
type
string required
type describes the current condition
observedGeneration
integer
observedGeneration is the most recent generation observed by this autoscaler.
format:
int64minimum:
0recommendation object
The most recently computed amount of resources recommended by the
autoscaler for the controlled pods.
containerRecommendations []object
Resources recommended by the autoscaler for each container.
containerName
string
Name of the container.
lowerBound
object
Minimum recommended amount of resources. Observes ContainerResourcePolicy.
This amount is not guaranteed to be sufficient for the application to operate in a stable way, however
running with less resources is likely to have significant impact on performance/availability.
target
object required
Recommended amount of resources. Observes ContainerResourcePolicy.
uncappedTarget
object
The most recent recommended resources target computed by the autoscaler
for the controlled pods, based only on actual resource usage, not taking
into account the ContainerResourcePolicy.
May differ from the Recommendation if the actual resource usage causes
the target to violate the ContainerResourcePolicy (lower than MinAllowed
or higher that MaxAllowed).
Used only as status indication, will not affect actual resource assignment.
upperBound
object
Maximum recommended amount of resources. Observes ContainerResourcePolicy.
Any resources allocated beyond this value are likely wasted. This value may be larger than the maximum
amount of application is actually capable of consuming.
No matches. Try .spec.recommenders for an exact path