v0.22 release
Published on: 2021-04-23 , Revised on: 2023-08-03
Announcing Knative v0.22 Release¶
A new version of Knative is now available across multiple components. Follow the instructions in the documentation Installing Knative for the respective component.
Table of Contents¶
- Serving v0.22
- Eventing v0.22
- Eventing Extensions
kn
CLI v0.22kn
CLI Plugins
- Operator v0.22
- Thank you contributors
Highlights¶
- Serving Domain Mapping improves multi-tenancy support to avoid domain name to be claim by users that don't legitimately owns them in the cluster.
- Eventing now allows subscribers and triggers from different namespaces to be used together.
- 1.18 is now the minimum Kubernetes version required to use the Apache Kafka broker with Knative Eventing v0.22.
- Apache Kafka broker now supports the ability to choose between ordered and unordered delivery
- The CLI
kn
v0.22.0 comes with some bug fixes and minor feature enhancements. It's mostly a polishing release. If you are using the Client API, there is a breaking change that was needed to align with Kubernetes Client API's - There are two new CLI plugins to align with the v0.22 release, kn-plugin-admin and kn-plugin-source-kafka
- The Knative Operator v0.22 release contains bug fixes and supports version v0.22 of Knative Serving and Eventing.
Serving v0.22¶
π« New Features & Changes¶
- Added an autoscaling annotation to choose a different aggregation algorithm for the autoscaling metrics. This is experimental currently. #10840
- Added the
autocreateClusterDomainClaims
flag to the network ConfigMap. networking/#330
π Bug Fixes¶
- Added validation that a default
max-scale
is set if amax-scale-limit
is specified in the autoscaler ConfigMap. Otherwise, the defaultmax-scale
,0
= no max, would fail validation as it is above themax-scale-limit
. #10921 - Raised the resource request and limits of the autoscaler to 100m/100Mi, 1000m/1000Mi respectively. #10865
- Fixed a regression where the latency of starting a pod could be 10s or more. #10992
- Reduced required memory allocations in the activator significantly, particularly when tracing is turned off. #11016, #11013, #11009, #11008
- Fixed the incorrect gateway name format for the domain mapping auto TLS feature for
net-istio
implementation. net-istio#532
Eventing v0.22¶
π¨ API Changes¶
v1alpha1
channel duck types are no longer supported. #5005
π Bug Fixes¶
- Fixed a bug that caused the PingSource adapter to not always release the leader election lease when terminating. #5162
- Fixed a bug that caused PingSource objects to send duplicate events when the leading adapter failed to renew its lease. #4908
- Fixed a bug that prevented namespace-scoped InMemoryChannel objects from becoming
READY
. #4906 - Fixed excessive number of replicas that were being created for
eventing-webhook
. #5112 - The webhook timeout for API server calls has been increased to 10 seconds. #5175
π§Ή Clean up¶
- Do not set a finalizer for PingSource controllers. Use
reconcilekind
instead. #5002
Eventing Extensions¶
Apache Kafka Broker v0.22¶
π¨ Breaking or Notable¶
π« New Features & Changes¶
- The Kafka broker now supports ordered delivery. You can choose between ordered and unordered delivery by using the
kafka.eventing.knative.dev/delivery.order
label in the trigger spec. See the Kafka broker documentation. #589
π Bug Fixes¶
- Added a producer interceptor,
io.cloudevents.kafka.PartitionKeyExtensionInterceptor
, to provide ordered delivery based on the partitioning extension of the CloudEvents spec. #751 - Fix unable to deploy KafkaSink without Kafka Broker installed. #714
Client v0.22¶
Managing custom domain mappings¶
This release adds support for CRUD management of domain mappings. You can use the kn domain
CLI command, along with its sub-commands create
, update
, describe
, list
, and delete
, to fully manage DomainMapping resources to use custom domains for Knative services.
# Create a domain mappings 'hello.example.com' for Knative service 'hello'
kn domain create hello.example.com --ref hello
# Update a domain mappings 'hello.example.com' for Knative service 'hello'
kn domain create hello.example.com --refFlags hello
# List all domain mappings
kn domain list
# Delete domain mappings 'hello.example.com'
kn domain delete hello.example.com
kn domain help
for more information.
Client API signature change¶
A context.Context
object was added as the first argument to every Client API method to align with the Kubernetes Client API signatures. This change does not affect client CLI usage unless the client-specific Golang API used to communicate with the Knative backend has changed.
To migrate to the updated API signature, you can pass an already existing context to the call, or use one of the available standard contexts, such as context.TODO()
.
CLI Plugins¶
π« New Features & Changes¶
The plugins that are released aligned with v0.22 are:
- kn-plugin-admin for managing Knative installations that are running on Kubernetes | download
- kn-plugin-source-kafka for managing a Kafka Source that has been installed via eventing-kafka on the backend | download
Minor CLI updates¶
kn export
now uses the Export format as the default.- Added
S
column to specify built-in sources inkn source list-types
. - Added support for namespaces for all commands that takes a
--sink
option.
Operator v0.22¶
π Bug Fixes¶
- Delete installed ingress resources only. #548
- Allow the update of ingress resources with
spec.additionalManifests
. #531 - Refactored the cache mechanism. #532
- Filter redundant resources in the target manifest. #509
π§Ή Clean up¶
Thank you contributors¶
- @dsimansk
- @eletonia
- @ericmillin
- @evankanderson
- @faruryo
- @houshengbo
- @itsmurugappan
- @julz
- @Kaustubh-pande
- @lionelvillard
- @markusthoemmes
- @matejvasek
- @n3wscott
- @pierDipi
- @slinkydeveloper
- @vagababov
- @vaikas
- @zhaojizhuang
- @ZhiminXiang
Learn more¶
Knative is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us!
- Welcome to Knative
- Getting started documentation
- Samples and demos
- Knative meetings and work groups
- Questions and issues
- Knative User Mailing List
- Knative Development Mailing List
- Knative on Twitter @KnativeProject
- Knative on StackOverflow
- Knative Slack
- Knative on YouTube