The Knative community released version 1.1 of the Knative project across multiple components. The core components Serving and Eventing have notable changes and introduce experimental features, such as global min-scale
configuration, capability to handle Retry-After headers in 429 / 503 responses.
The experimental features process accelerates the innovation, enabling new, experimental features to be delivered and tested by the community without affecting the stability of the core project. In Eventing 1.1, all core Knative Eventing Pods are able to run in the restricted pod security standard profile; it is targeted at operators and developers of security-critical applications. The CloudEvents project has added a Subscriptions API which provides a definition for CNCF CloudEvents event consumers to subscribe to events originating from event producers on behalf of event sources including a filters field, so Trigger Filter API now conforms to the CNCF CouldEvents Subscriptions API in order to support more complex predicates.
Besides, Serving v1.1 adds a global min-scale configuration. The stable window defines the sliding time window over which metrics are averaged to provide the input for scaling decisions when the autoscaler is not in Panic mode, which is similar to the KPA window. The default stabilization window for HPA is 300s; now it can be set to different values.
Apache Kafka Broker is a native Broker implementation that reduces network hops. It adds a new implementation of the KafkaSource API in this release. Committing offsets at a specified interval reduces Kafka cluster load and also makes the event delivery hundreds of times faster. See Consumer Offsets Commit Interval for details.
RabbitMQ Broker and Source v1.1 add tracing with opencensus to the dispatcher and ingress; now you can leverage Apache SkyWalking, Zipkin, or Jaeger to build distributed tracing with Knative. See an example use case from the Knative blog: Distributed tracing with Knative, OpenTelemetry and Jaeger.
The Knative client is a CLI that allows you to create Knative resources interactively from the command line or from within scripts. It adds --tag
to service create
and allows traffic split <100 when @latest
is specified. When @latest
is specified as an argument to --traffic
and sum < 100, it will calculate the remaining revision.
Knative project has been widely adopted by cloud providers and organizations in building their serverless computing platform, such as Alibaba Cloud, Cloud Run, IBM Cloud Code Engine, OpenFunction, etc. Over the last three years, Google, IBM, Red Hat, SAP, VMWare, and over 50 different companies have contributed to the Knative project.
To enable the next phase of community-driven innovation in Knative, Google has submitted Knative to the CNCF as an incubating project. This donation recognizes the adoption and investment in Knative from the community and will encourage further multi-vendor innovation and collaboration.
More details of the Knative 1.1 can be found in the official release announcement. Follow the instructions in the documentation installing Knative for the respective component.