Targets¶
A target is the value the Autoscaler tries to maintain for the configured metric on a Revision. The autoscaling.knative.dev/target annotation is shared by the metric types; its meaning and units depend on the selected metric.
For a configuration procedure, use Set a concurrency target for a service. For concurrency-specific defaults and interactions with hard limits and utilization, use the concurrency settings reference.
Configuring targets¶
- Per-revision annotation key:
autoscaling.knative.dev/target - Location:
spec.template.metadata.annotationson a Service or Configuration - Possible values: A number encoded as a string, at least
0.01; interpretation depends on the metric. See the v1.24 annotation validation source; check the matching release for another installation. - Default: The annotation is unset. For KPA concurrency, a nonzero
containerConcurrencysupplies the target; otherwise the cluster concurrency default supplies it. An explicit target annotation overrides that selection but is capped by a nonzerocontainerConcurrency. Target utilization is applied afterward; see the three concurrency target-resolution cases. For KPA requests per second, the cluster RPS default supplies the target when the annotation is absent.
Global defaults are metric-specific, not a global version of the target annotation. See concurrency settings for container-concurrency-target-default, and requests-per-second settings for the RPS default. The example below is a revision-template fragment.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: helloworld-go
namespace: default
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/target: "50"
Cluster-default configuration fragments are maintained in the concurrency settings reference.