Skip to content

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.annotations on 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 containerConcurrency supplies the target; otherwise the cluster concurrency default supplies it. An explicit target annotation overrides that selection but is capped by a nonzero containerConcurrency. 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.

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.