CapacityBuffer
autoscaling.x-k8s.io / v1alpha1
apiVersion: autoscaling.x-k8s.io/v1alpha1
kind: CapacityBuffer
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
Spec defines the desired characteristics of the buffer.
limits
object
Limits, if specified, will limit the number of chunks created for this buffer
based on total resource requests (e.g., CPU, memory). If there are no other
limitations for the number of chunks (i.e., `replicas` or `percentage` are not set),
this will be used to create as many chunks as fit into these limits.
percentage
integer
Percentage defines the desired buffer capacity as a percentage of the
`scalableRef`'s current replicas. This is only applicable if `scalableRef` is set.
The absolute number of replicas is calculated from the percentage by rounding up to a minimum of 1.
For example, if `scalableRef` has 10 replicas and `percentage` is 20, 2 buffer chunks will be created.
format:
int32minimum:
0podTemplateRef object
PodTemplateRef is a reference to a PodTemplate resource in the same namespace
that declares the shape of a single chunk of the buffer. The pods created
from this template will be used as placeholder pods for the buffer capacity.
Exactly one of `podTemplateRef`, `scalableRef` should be specified.
name
string required
Name of the object.
minLength:
1
provisioningStrategy
string
ProvisioningStrategy defines how the buffer is utilized.
"buffer.x-k8s.io/active-capacity" is the default strategy, where the buffer actively scales up the cluster by creating placeholder pods.
replicas
integer
Replicas defines the desired number of buffer chunks to provision.
If neither `replicas` nor `percentage` is set, as many chunks as fit within
defined resource limits (if any) will be created. If both are set, the maximum
of the two will be used.
format:
int32minimum:
0scalableRef object
ScalableRef is a reference to an object of a kind that has a scale subresource
and specifies its label selector field. This allows the CapacityBuffer to
manage the buffer by scaling an existing scalable resource.
Exactly one of `podTemplateRef`, `scalableRef` should be specified.
apiGroup
string
APIGroup of the scalable object.
Empty string for the core API group
kind
string required
Kind of the scalable object (e.g., "Deployment", "StatefulSet").
minLength:
1
name
string required
Name of the scalable object.
minLength:
1status object
Status represents the current state of the buffer and its readiness for autoprovisioning.
conditions []object
Conditions provide a standard mechanism for reporting the buffer's state.
The "Ready" condition indicates if the buffer is successfully provisioned
and active. Other conditions may report on various aspects of the buffer's
health and provisioning process.
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
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 required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$maxLength:
316
podTemplateGeneration
integer
PodTemplateGeneration is the observed generation of the PodTemplate, used
to determine if the status is up-to-date with the desired `spec.podTemplateRef`.
format:
int64podTemplateRef object
PodTemplateRef is the observed reference to the PodTemplate that was used
to provision the buffer. If this field is not set, and the `conditions`
indicate an error, it provides details about the error state.
name
string required
Name of the object.
minLength:
1
provisioningStrategy
string
ProvisioningStrategy defines how the buffer should be utilized.
replicas
integer
Replicas is the actual number of buffer chunks currently provisioned.
format:
int32No matches. Try .spec.limits for an exact path