The Knative community has released version 1.1 of the Knative project on several components. The core Serving and Eventing components have notable changes and introduce experimental features, such as global
min-scale configuration, ability to handle Retry-After headers in 429/503 responses.
The experimental features process accelerates innovation, allowing the community to submit and test new experimental features without affecting the stability of the main project. In Eventing 1.1, all primary Knative Eventing pods can run in the standard restricted pod security profile; it is aimed at operators and developers of safety-critical applications. The CloudEvents project added a Subscriptions API that provides a definition for CNCF CloudEvents event consumers to subscribe to events from event producers on behalf of event sources, including a filters field, so the Trigger Filter API now conforms to the CNCF CouldEvents Subscriptions API to support more complex predicates.
Additionally, Serving v1.1 adds a global minimum scale configuration. The stable window defines the rolling time window over which metrics are averaged to provide 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 KafkaSource API implementation in this release. Committing offsets at a specified interval reduces the load on the Kafka cluster and also speeds up event delivery hundreds of times, see Consumer Offsets Commit Interval for details.
RabbitMQ Broker and Source v1.1 adds tracing with opencensus to dispatcher and ingress, you can now leverage Apache SkyWalking, Zipkin or Jaeger to create 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 lets you create Knative resources interactively from the command line or from scripts. it adds
service create and allows traffic distribution < 100 when
@latest is specified. When
@latest is specified as the argument of
--traffic and sum < 100, it will calculate the remaining revision.
Knative project has been widely adopted by cloud providers and organizations for building their serverless computing platform, such as Alibaba Cloud, Cloud Run, IBM Cloud Code Engine, OpenFunction, etc. In the last three years, Google, IBM, Red Hat, SAP, VMWare and more than 50 different companies have contributed to the Knative project.
To enable the next phase of community innovation in Knative, Google submitted Knative to CNCF as an incubation project. This donation recognizes community adoption and investment in Knative and will encourage innovation and multi-vendor collaboration.
More details about Knative 1.1 can be found in the official release announcement. Follow the instructions in the Knative installation documentation for making up.