apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: '{"apiVersion":"apiextensions.k8s.io/v1","kind":"CustomResourceDefinition","metadata":{"labels":{"knative.dev/crd-install":"true","serving.knative.dev/release":"v0.24.0"},"name":"podautoscalers.autoscaling.internal.knative.dev"},"spec":{"group":"autoscaling.internal.knative.dev","names":{"categories":["knative-internal","autoscaling"],"kind":"PodAutoscaler","plural":"podautoscalers","shortNames":["kpa","pa"],"singular":"podautoscaler"},"scope":"Namespaced","versions":[{"additionalPrinterColumns":[{"jsonPath":".status.desiredScale","name":"DesiredScale","type":"integer"},{"jsonPath":".status.actualScale","name":"ActualScale","type":"integer"},{"jsonPath":".status.conditions[?(@.type==''Ready'')].status","name":"Ready","type":"string"},{"jsonPath":".status.conditions[?(@.type==''Ready'')].reason","name":"Reason","type":"string"}],"name":"v1alpha1","schema":{"openAPIV3Schema":{"description":"PodAutoscaler
is a Knative abstraction that encapsulates the interface by which Knative components
instantiate autoscalers. This definition is an abstraction that may be backed
by multiple definitions. For more information, see the Knative Pluggability
presentation: https://docs.google.com/presentation/d/10KWynvAJYuOEWy69VBa6bHJVCqIsz1TNdEKosNvcpPY/edit","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":"Spec
holds the desired state of the PodAutoscaler (from the client).","properties":{"containerConcurrency":{"description":"ContainerConcurrency
specifies the maximum allowed in-flight (concurrent) requests per container
of the Revision. Defaults to `0` which means unlimited concurrency.","format":"int64","type":"integer"},"protocolType":{"description":"The
application-layer protocol. Matches `ProtocolType` inferred from the revision
spec.","type":"string"},"reachability":{"description":"Reachability specifies
whether or not the `ScaleTargetRef` can be reached (ie. has a route). Defaults
to `ReachabilityUnknown`","type":"string"},"scaleTargetRef":{"description":"ScaleTargetRef
defines the /scale-able resource that this PodAutoscaler is responsible for
quickly right-sizing.","properties":{"apiVersion":{"description":"API version
of the referent.","type":"string"},"kind":{"description":"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
of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names","type":"string"}},"type":"object"}},"required":["protocolType","scaleTargetRef"],"type":"object"},"status":{"description":"Status
communicates the observed state of the PodAutoscaler (from the controller).","properties":{"actualScale":{"description":"ActualScale
shows the actual number of replicas for the revision.","format":"int32","type":"integer"},"annotations":{"additionalProperties":{"type":"string"},"description":"Annotations
is additional Status fields for the Resource to save some additional State as
well as convey more information to the user. This is roughly akin to Annotations
on any k8s resource, just the reconciler conveying richer information outwards.","type":"object"},"conditions":{"description":"Conditions
the latest available observations of a resource''s current state.","items":{"description":"Condition
defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties","properties":{"lastTransitionTime":{"description":"LastTransitionTime
is the last time the condition transitioned from one status to another. We use
VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic
differences (all other things held constant).","format":"date-time","type":"string"},"message":{"description":"A
human readable message indicating details about the transition.","type":"string"},"reason":{"description":"The
reason for the condition''s last transition.","type":"string"},"severity":{"description":"Severity
with which to treat failures of this type of condition. When this is not specified,
it defaults to Error.","type":"string"},"status":{"description":"Status of the
condition, one of True, False, Unknown.","type":"string"},"type":{"description":"Type
of condition.","type":"string"}},"required":["status","type"],"type":"object"},"type":"array"},"desiredScale":{"description":"DesiredScale
shows the current desired number of replicas for the revision.","format":"int32","type":"integer"},"metricsServiceName":{"description":"MetricsServiceName
is the K8s Service name that provides revision metrics. The service is managed
by the PA object.","type":"string"},"observedGeneration":{"description":"ObservedGeneration
is the ''Generation'' of the Service that was last processed by the controller.","format":"int64","type":"integer"},"serviceName":{"description":"ServiceName
is the K8s Service name that serves the revision, scaled by this PA. The service
is created and owned by the ServerlessService object owned by this PA.","type":"string"}},"required":["metricsServiceName","serviceName"],"type":"object"}},"type":"object"}},"served":true,"storage":true,"subresources":{"status":{}}}]}}
'
creationTimestamp: '2021-08-30T18:59:45Z'
generation: 1
labels:
knative.dev/crd-install: 'true'
serving.knative.dev/release: v0.24.0
managedFields:
- apiVersion: apiextensions.k8s.io/v1
fieldsType: FieldsV1
fieldsV1:
f:status:
f:acceptedNames:
f:categories: {}
f:kind: {}
f:listKind: {}
f:plural: {}
f:shortNames: {}
f:singular: {}
f:conditions:
k:{"type":"Established"}:
.: {}
f:lastTransitionTime: {}
f:message: {}
f:reason: {}
f:status: {}
f:type: {}
k:{"type":"NamesAccepted"}:
.: {}
f:lastTransitionTime: {}
f:message: {}
f:reason: {}
f:status: {}
f:type: {}
manager: k3s
operation: Update
time: '2021-08-30T18:59:45Z'
- apiVersion: apiextensions.k8s.io/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:kubectl.kubernetes.io/last-applied-configuration: {}
f:labels:
.: {}
f:knative.dev/crd-install: {}
f:serving.knative.dev/release: {}
f:spec:
f:conversion:
.: {}
f:strategy: {}
f:group: {}
f:names:
f:categories: {}
f:kind: {}
f:listKind: {}
f:plural: {}
f:shortNames: {}
f:singular: {}
f:scope: {}
f:versions: {}
manager: manifestival
operation: Update
time: '2021-08-30T18:59:48Z'
name: podautoscalers.autoscaling.internal.knative.dev
resourceVersion: '5608'
uid: 1ac3ce16-5624-4e4a-a63a-8d7935a4ba2b
spec:
conversion:
strategy: None
group: autoscaling.internal.knative.dev
names:
categories:
- knative-internal
- autoscaling
kind: PodAutoscaler
listKind: PodAutoscalerList
plural: podautoscalers
shortNames:
- kpa
- pa
singular: podautoscaler
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .status.desiredScale
name: DesiredScale
type: integer
- jsonPath: .status.actualScale
name: ActualScale
type: integer
- jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Reason
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: 'PodAutoscaler is a Knative abstraction that encapsulates the
interface by which Knative components instantiate autoscalers. This definition
is an abstraction that may be backed by multiple definitions. For more
information, see the Knative Pluggability presentation: https://docs.google.com/presentation/d/10KWynvAJYuOEWy69VBa6bHJVCqIsz1TNdEKosNvcpPY/edit'
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: Spec holds the desired state of the PodAutoscaler (from the
client).
properties:
containerConcurrency:
description: ContainerConcurrency specifies the maximum allowed in-flight
(concurrent) requests per container of the Revision. Defaults to
`0` which means unlimited concurrency.
format: int64
type: integer
protocolType:
description: The application-layer protocol. Matches `ProtocolType`
inferred from the revision spec.
type: string
reachability:
description: Reachability specifies whether or not the `ScaleTargetRef`
can be reached (ie. has a route). Defaults to `ReachabilityUnknown`
type: string
scaleTargetRef:
description: ScaleTargetRef defines the /scale-able resource that
this PodAutoscaler is responsible for quickly right-sizing.
properties:
apiVersion:
description: API version of the referent.
type: string
kind:
description: '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 of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
type: object
required:
- protocolType
- scaleTargetRef
type: object
status:
description: Status communicates the observed state of the PodAutoscaler
(from the controller).
properties:
actualScale:
description: ActualScale shows the actual number of replicas for the
revision.
format: int32
type: integer
annotations:
additionalProperties:
type: string
description: Annotations is additional Status fields for the Resource
to save some additional State as well as convey more information
to the user. This is roughly akin to Annotations on any k8s resource,
just the reconciler conveying richer information outwards.
type: object
conditions:
description: Conditions the latest available observations of a resource's
current state.
items:
description: 'Condition defines a readiness condition for a Knative
resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties'
properties:
lastTransitionTime:
description: LastTransitionTime is the last time the condition
transitioned from one status to another. We use VolatileTime
in place of metav1.Time to exclude this from creating equality.Semantic
differences (all other things held constant).
format: date-time
type: string
message:
description: A human readable message indicating details about
the transition.
type: string
reason:
description: The reason for the condition's last transition.
type: string
severity:
description: Severity with which to treat failures of this type
of condition. When this is not specified, it defaults to Error.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
type: string
type:
description: Type of condition.
type: string
required:
- status
- type
type: object
type: array
desiredScale:
description: DesiredScale shows the current desired number of replicas
for the revision.
format: int32
type: integer
metricsServiceName:
description: MetricsServiceName is the K8s Service name that provides
revision metrics. The service is managed by the PA object.
type: string
observedGeneration:
description: ObservedGeneration is the 'Generation' of the Service
that was last processed by the controller.
format: int64
type: integer
serviceName:
description: ServiceName is the K8s Service name that serves the revision,
scaled by this PA. The service is created and owned by the ServerlessService
object owned by this PA.
type: string
required:
- metricsServiceName
- serviceName
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
categories:
- knative-internal
- autoscaling
kind: PodAutoscaler
listKind: PodAutoscalerList
plural: podautoscalers
shortNames:
- kpa
- pa
singular: podautoscaler
conditions:
- lastTransitionTime: '2021-08-30T18:59:45Z'
message: no conflicts found
reason: NoConflicts
status: 'True'
type: NamesAccepted
- lastTransitionTime: '2021-08-30T18:59:45Z'
message: the initial names have been accepted
reason: InitialNamesAccepted
status: 'True'
type: Established
storedVersions:
- v1alpha1