mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 10:18:39 +00:00
@@ -116,7 +116,7 @@ releases:
|
||||
chart: cozy-monitoring-agents
|
||||
namespace: cozy-monitoring
|
||||
privileged: true
|
||||
dependsOn: [cilium,kubeovn,victoria-metrics-operator]
|
||||
dependsOn: [victoria-metrics-operator, vertical-pod-autoscaler-crds]
|
||||
values:
|
||||
scrapeRules:
|
||||
etcd:
|
||||
@@ -399,6 +399,13 @@ releases:
|
||||
privileged: true
|
||||
dependsOn: [monitoring-agents]
|
||||
|
||||
- name: vertical-pod-autoscaler-crds
|
||||
releaseName: vertical-pod-autoscaler-crds
|
||||
chart: cozy-vertical-pod-autoscaler-crds
|
||||
namespace: cozy-vertical-pod-autoscaler
|
||||
privileged: true
|
||||
dependsOn: [cilium, kubeovn]
|
||||
|
||||
- name: reloader
|
||||
releaseName: reloader
|
||||
chart: cozy-reloader
|
||||
|
||||
@@ -69,7 +69,7 @@ releases:
|
||||
chart: cozy-monitoring-agents
|
||||
namespace: cozy-monitoring
|
||||
privileged: true
|
||||
dependsOn: [victoria-metrics-operator]
|
||||
dependsOn: [victoria-metrics-operator, vertical-pod-autoscaler-crds]
|
||||
values:
|
||||
scrapeRules:
|
||||
etcd:
|
||||
@@ -254,3 +254,10 @@ releases:
|
||||
namespace: cozy-vertical-pod-autoscaler
|
||||
privileged: true
|
||||
dependsOn: [monitoring-agents]
|
||||
|
||||
- name: vertical-pod-autoscaler-crds
|
||||
releaseName: vertical-pod-autoscaler-crds
|
||||
chart: cozy-vertical-pod-autoscaler-crds
|
||||
namespace: cozy-vertical-pod-autoscaler
|
||||
privileged: true
|
||||
dependsOn: [cilium, kubeovn]
|
||||
|
||||
3
packages/system/vertical-pod-autoscaler-crds/Chart.yaml
Normal file
3
packages/system/vertical-pod-autoscaler-crds/Chart.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
apiVersion: v2
|
||||
name: cozy-vertical-pod-autoscaler-crds
|
||||
version: 0.0.0 # Placeholder, the actual version will be automatically set during the build process
|
||||
7
packages/system/vertical-pod-autoscaler-crds/Makefile
Normal file
7
packages/system/vertical-pod-autoscaler-crds/Makefile
Normal file
@@ -0,0 +1,7 @@
|
||||
export NAME=vertical-pod-autoscaler
|
||||
export NAMESPACE=cozy-$(NAME)
|
||||
|
||||
include ../../../scripts/package.mk
|
||||
|
||||
update:
|
||||
curl -o ./templates/vpa-v1-crd-gen.yaml https://raw.githubusercontent.com/kubernetes/autoscaler/refs/heads/master/vertical-pod-autoscaler/deploy/vpa-v1-crd-gen.yaml
|
||||
@@ -0,0 +1,834 @@
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
api-approved.kubernetes.io: https://github.com/kubernetes/kubernetes/pull/63797
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
name: verticalpodautoscalercheckpoints.autoscaling.k8s.io
|
||||
spec:
|
||||
group: autoscaling.k8s.io
|
||||
names:
|
||||
kind: VerticalPodAutoscalerCheckpoint
|
||||
listKind: VerticalPodAutoscalerCheckpointList
|
||||
plural: verticalpodautoscalercheckpoints
|
||||
shortNames:
|
||||
- vpacheckpoint
|
||||
singular: verticalpodautoscalercheckpoint
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
VerticalPodAutoscalerCheckpoint is the checkpoint of the internal state of VPA that
|
||||
is used for recovery after recommender's restart.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: |-
|
||||
Specification of the checkpoint.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||
properties:
|
||||
containerName:
|
||||
description: Name of the checkpointed container.
|
||||
type: string
|
||||
vpaObjectName:
|
||||
description: Name of the VPA object that stored VerticalPodAutoscalerCheckpoint
|
||||
object.
|
||||
type: string
|
||||
type: object
|
||||
status:
|
||||
description: Data of the checkpoint.
|
||||
properties:
|
||||
cpuHistogram:
|
||||
description: Checkpoint of histogram for consumption of CPU.
|
||||
properties:
|
||||
bucketWeights:
|
||||
description: Map from bucket index to bucket weight.
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
referenceTimestamp:
|
||||
description: Reference timestamp for samples collected within
|
||||
this histogram.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
totalWeight:
|
||||
description: Sum of samples to be used as denominator for weights
|
||||
from BucketWeights.
|
||||
type: number
|
||||
type: object
|
||||
firstSampleStart:
|
||||
description: Timestamp of the fist sample from the histograms.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
lastSampleStart:
|
||||
description: Timestamp of the last sample from the histograms.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
lastUpdateTime:
|
||||
description: The time when the status was last refreshed.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
memoryHistogram:
|
||||
description: Checkpoint of histogram for consumption of memory.
|
||||
properties:
|
||||
bucketWeights:
|
||||
description: Map from bucket index to bucket weight.
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
referenceTimestamp:
|
||||
description: Reference timestamp for samples collected within
|
||||
this histogram.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
totalWeight:
|
||||
description: Sum of samples to be used as denominator for weights
|
||||
from BucketWeights.
|
||||
type: number
|
||||
type: object
|
||||
totalSamplesCount:
|
||||
description: Total number of samples in the histograms.
|
||||
type: integer
|
||||
version:
|
||||
description: Version of the format of the stored data.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
- name: v1beta2
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
VerticalPodAutoscalerCheckpoint is the checkpoint of the internal state of VPA that
|
||||
is used for recovery after recommender's restart.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: |-
|
||||
Specification of the checkpoint.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||
properties:
|
||||
containerName:
|
||||
description: Name of the checkpointed container.
|
||||
type: string
|
||||
vpaObjectName:
|
||||
description: Name of the VPA object that stored VerticalPodAutoscalerCheckpoint
|
||||
object.
|
||||
type: string
|
||||
type: object
|
||||
status:
|
||||
description: Data of the checkpoint.
|
||||
properties:
|
||||
cpuHistogram:
|
||||
description: Checkpoint of histogram for consumption of CPU.
|
||||
properties:
|
||||
bucketWeights:
|
||||
description: Map from bucket index to bucket weight.
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
referenceTimestamp:
|
||||
description: Reference timestamp for samples collected within
|
||||
this histogram.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
totalWeight:
|
||||
description: Sum of samples to be used as denominator for weights
|
||||
from BucketWeights.
|
||||
type: number
|
||||
type: object
|
||||
firstSampleStart:
|
||||
description: Timestamp of the fist sample from the histograms.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
lastSampleStart:
|
||||
description: Timestamp of the last sample from the histograms.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
lastUpdateTime:
|
||||
description: The time when the status was last refreshed.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
memoryHistogram:
|
||||
description: Checkpoint of histogram for consumption of memory.
|
||||
properties:
|
||||
bucketWeights:
|
||||
description: Map from bucket index to bucket weight.
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
referenceTimestamp:
|
||||
description: Reference timestamp for samples collected within
|
||||
this histogram.
|
||||
format: date-time
|
||||
nullable: true
|
||||
type: string
|
||||
totalWeight:
|
||||
description: Sum of samples to be used as denominator for weights
|
||||
from BucketWeights.
|
||||
type: number
|
||||
type: object
|
||||
totalSamplesCount:
|
||||
description: Total number of samples in the histograms.
|
||||
type: integer
|
||||
version:
|
||||
description: Version of the format of the stored data.
|
||||
type: string
|
||||
type: object
|
||||
type: object
|
||||
served: false
|
||||
storage: false
|
||||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
annotations:
|
||||
api-approved.kubernetes.io: https://github.com/kubernetes/kubernetes/pull/63797
|
||||
controller-gen.kubebuilder.io/version: v0.16.5
|
||||
name: verticalpodautoscalers.autoscaling.k8s.io
|
||||
spec:
|
||||
group: autoscaling.k8s.io
|
||||
names:
|
||||
kind: VerticalPodAutoscaler
|
||||
listKind: VerticalPodAutoscalerList
|
||||
plural: verticalpodautoscalers
|
||||
shortNames:
|
||||
- vpa
|
||||
singular: verticalpodautoscaler
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- additionalPrinterColumns:
|
||||
- jsonPath: .spec.updatePolicy.updateMode
|
||||
name: Mode
|
||||
type: string
|
||||
- jsonPath: .status.recommendation.containerRecommendations[0].target.cpu
|
||||
name: CPU
|
||||
type: string
|
||||
- jsonPath: .status.recommendation.containerRecommendations[0].target.memory
|
||||
name: Mem
|
||||
type: string
|
||||
- jsonPath: .status.conditions[?(@.type=='RecommendationProvided')].status
|
||||
name: Provided
|
||||
type: string
|
||||
- jsonPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
VerticalPodAutoscaler is the configuration for a vertical pod
|
||||
autoscaler, which automatically manages pod resources based on historical and
|
||||
real time resource utilization.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: |-
|
||||
Specification of the behavior of the autoscaler.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||
properties:
|
||||
recommenders:
|
||||
description: |-
|
||||
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.
|
||||
items:
|
||||
description: |-
|
||||
VerticalPodAutoscalerRecommenderSelector points to a specific Vertical Pod Autoscaler recommender.
|
||||
In the future it might pass parameters to the recommender.
|
||||
properties:
|
||||
name:
|
||||
description: Name of the recommender responsible for generating
|
||||
recommendation for this object.
|
||||
type: string
|
||||
required:
|
||||
- name
|
||||
type: object
|
||||
type: array
|
||||
resourcePolicy:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
containerPolicies:
|
||||
description: Per-container resource policies.
|
||||
items:
|
||||
description: |-
|
||||
ContainerResourcePolicy controls how autoscaler computes the recommended
|
||||
resources for a specific container.
|
||||
properties:
|
||||
containerName:
|
||||
description: |-
|
||||
Name of the container or DefaultContainerResourcePolicy, in which
|
||||
case the policy is used by the containers that don't have their own
|
||||
policy specified.
|
||||
type: string
|
||||
controlledResources:
|
||||
description: |-
|
||||
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.
|
||||
items:
|
||||
description: ResourceName is the name identifying various
|
||||
resources in a ResourceList.
|
||||
type: string
|
||||
type: array
|
||||
controlledValues:
|
||||
description: |-
|
||||
Specifies which resource values should be controlled.
|
||||
The default is "RequestsAndLimits".
|
||||
enum:
|
||||
- RequestsAndLimits
|
||||
- RequestsOnly
|
||||
type: string
|
||||
maxAllowed:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
Specifies the maximum amount of resources that will be recommended
|
||||
for the container. The default is no maximum.
|
||||
type: object
|
||||
minAllowed:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
Specifies the minimal amount of resources that will be recommended
|
||||
for the container. The default is no minimum.
|
||||
type: object
|
||||
mode:
|
||||
description: Whether autoscaler is enabled for the container.
|
||||
The default is "Auto".
|
||||
enum:
|
||||
- Auto
|
||||
- "Off"
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
targetRef:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: apiVersion is the API version of the referent
|
||||
type: string
|
||||
kind:
|
||||
description: 'kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
name:
|
||||
description: 'name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||
type: string
|
||||
required:
|
||||
- kind
|
||||
- name
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
updatePolicy:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
evictionRequirements:
|
||||
description: |-
|
||||
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.
|
||||
items:
|
||||
description: |-
|
||||
EvictionRequirement defines a single condition which needs to be true in
|
||||
order to evict a Pod
|
||||
properties:
|
||||
changeRequirement:
|
||||
description: 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
|
||||
type: string
|
||||
resources:
|
||||
description: |-
|
||||
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`.
|
||||
items:
|
||||
description: ResourceName is the name identifying various
|
||||
resources in a ResourceList.
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- changeRequirement
|
||||
- resources
|
||||
type: object
|
||||
type: array
|
||||
minReplicas:
|
||||
description: |-
|
||||
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
|
||||
type: integer
|
||||
updateMode:
|
||||
description: |-
|
||||
Controls when autoscaler applies changes to the pod resources.
|
||||
The default is 'Auto'.
|
||||
enum:
|
||||
- "Off"
|
||||
- Initial
|
||||
- Recreate
|
||||
- Auto
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- targetRef
|
||||
type: object
|
||||
status:
|
||||
description: Current information about the autoscaler.
|
||||
properties:
|
||||
conditions:
|
||||
description: |-
|
||||
Conditions is the set of conditions required for this autoscaler to scale its target,
|
||||
and indicates whether or not those conditions are met.
|
||||
items:
|
||||
description: |-
|
||||
VerticalPodAutoscalerCondition describes the state of
|
||||
a VerticalPodAutoscaler at a certain point.
|
||||
properties:
|
||||
lastTransitionTime:
|
||||
description: |-
|
||||
lastTransitionTime is the last time the condition transitioned from
|
||||
one status to another
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: |-
|
||||
message is a human-readable explanation containing details about
|
||||
the transition
|
||||
type: string
|
||||
reason:
|
||||
description: reason is the reason for the condition's last transition.
|
||||
type: string
|
||||
status:
|
||||
description: status is the status of the condition (True, False,
|
||||
Unknown)
|
||||
type: string
|
||||
type:
|
||||
description: type describes the current condition
|
||||
type: string
|
||||
required:
|
||||
- status
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
recommendation:
|
||||
description: |-
|
||||
The most recently computed amount of resources recommended by the
|
||||
autoscaler for the controlled pods.
|
||||
properties:
|
||||
containerRecommendations:
|
||||
description: Resources recommended by the autoscaler for each
|
||||
container.
|
||||
items:
|
||||
description: |-
|
||||
RecommendedContainerResources is the recommendation of resources computed by
|
||||
autoscaler for a specific container. Respects the container resource policy
|
||||
if present in the spec. In particular the recommendation is not produced for
|
||||
containers with `ContainerScalingMode` set to 'Off'.
|
||||
properties:
|
||||
containerName:
|
||||
description: Name of the container.
|
||||
type: string
|
||||
lowerBound:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
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.
|
||||
type: object
|
||||
target:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: Recommended amount of resources. Observes ContainerResourcePolicy.
|
||||
type: object
|
||||
uncappedTarget:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
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.
|
||||
type: object
|
||||
upperBound:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
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.
|
||||
type: object
|
||||
required:
|
||||
- target
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
||||
subresources:
|
||||
status: {}
|
||||
- deprecated: true
|
||||
deprecationWarning: autoscaling.k8s.io/v1beta2 API is deprecated
|
||||
name: v1beta2
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: |-
|
||||
VerticalPodAutoscaler is the configuration for a vertical pod
|
||||
autoscaler, which automatically manages pod resources based on historical and
|
||||
real time resource utilization.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
kind:
|
||||
description: |-
|
||||
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
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: |-
|
||||
Specification of the behavior of the autoscaler.
|
||||
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
|
||||
properties:
|
||||
resourcePolicy:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
containerPolicies:
|
||||
description: Per-container resource policies.
|
||||
items:
|
||||
description: |-
|
||||
ContainerResourcePolicy controls how autoscaler computes the recommended
|
||||
resources for a specific container.
|
||||
properties:
|
||||
containerName:
|
||||
description: |-
|
||||
Name of the container or DefaultContainerResourcePolicy, in which
|
||||
case the policy is used by the containers that don't have their own
|
||||
policy specified.
|
||||
type: string
|
||||
maxAllowed:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
Specifies the maximum amount of resources that will be recommended
|
||||
for the container. The default is no maximum.
|
||||
type: object
|
||||
minAllowed:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
Specifies the minimal amount of resources that will be recommended
|
||||
for the container. The default is no minimum.
|
||||
type: object
|
||||
mode:
|
||||
description: Whether autoscaler is enabled for the container.
|
||||
The default is "Auto".
|
||||
enum:
|
||||
- Auto
|
||||
- "Off"
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
targetRef:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: apiVersion is the API version of the referent
|
||||
type: string
|
||||
kind:
|
||||
description: 'kind is the kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
name:
|
||||
description: 'name is the name of the referent; More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||
type: string
|
||||
required:
|
||||
- kind
|
||||
- name
|
||||
type: object
|
||||
x-kubernetes-map-type: atomic
|
||||
updatePolicy:
|
||||
description: |-
|
||||
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.
|
||||
properties:
|
||||
updateMode:
|
||||
description: |-
|
||||
Controls when autoscaler applies changes to the pod resources.
|
||||
The default is 'Auto'.
|
||||
enum:
|
||||
- "Off"
|
||||
- Initial
|
||||
- Recreate
|
||||
- Auto
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- targetRef
|
||||
type: object
|
||||
status:
|
||||
description: Current information about the autoscaler.
|
||||
properties:
|
||||
conditions:
|
||||
description: |-
|
||||
Conditions is the set of conditions required for this autoscaler to scale its target,
|
||||
and indicates whether or not those conditions are met.
|
||||
items:
|
||||
description: |-
|
||||
VerticalPodAutoscalerCondition describes the state of
|
||||
a VerticalPodAutoscaler at a certain point.
|
||||
properties:
|
||||
lastTransitionTime:
|
||||
description: |-
|
||||
lastTransitionTime is the last time the condition transitioned from
|
||||
one status to another
|
||||
format: date-time
|
||||
type: string
|
||||
message:
|
||||
description: |-
|
||||
message is a human-readable explanation containing details about
|
||||
the transition
|
||||
type: string
|
||||
reason:
|
||||
description: reason is the reason for the condition's last transition.
|
||||
type: string
|
||||
status:
|
||||
description: status is the status of the condition (True, False,
|
||||
Unknown)
|
||||
type: string
|
||||
type:
|
||||
description: type describes the current condition
|
||||
type: string
|
||||
required:
|
||||
- status
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
recommendation:
|
||||
description: |-
|
||||
The most recently computed amount of resources recommended by the
|
||||
autoscaler for the controlled pods.
|
||||
properties:
|
||||
containerRecommendations:
|
||||
description: Resources recommended by the autoscaler for each
|
||||
container.
|
||||
items:
|
||||
description: |-
|
||||
RecommendedContainerResources is the recommendation of resources computed by
|
||||
autoscaler for a specific container. Respects the container resource policy
|
||||
if present in the spec. In particular the recommendation is not produced for
|
||||
containers with `ContainerScalingMode` set to 'Off'.
|
||||
properties:
|
||||
containerName:
|
||||
description: Name of the container.
|
||||
type: string
|
||||
lowerBound:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
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.
|
||||
type: object
|
||||
target:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: Recommended amount of resources. Observes ContainerResourcePolicy.
|
||||
type: object
|
||||
uncappedTarget:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
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.
|
||||
type: object
|
||||
upperBound:
|
||||
additionalProperties:
|
||||
anyOf:
|
||||
- type: integer
|
||||
- type: string
|
||||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
|
||||
x-kubernetes-int-or-string: true
|
||||
description: |-
|
||||
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.
|
||||
type: object
|
||||
required:
|
||||
- target
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: false
|
||||
storage: false
|
||||
subresources:
|
||||
status: {}
|
||||
@@ -1,4 +1,7 @@
|
||||
vertical-pod-autoscaler:
|
||||
crds:
|
||||
enabled: false
|
||||
|
||||
updater:
|
||||
resources:
|
||||
limits:
|
||||
|
||||
Reference in New Issue
Block a user