What’s New in Knative Eventing V.0.8

Alibaba Cloud
3 min readFeb 19, 2020


By Yuanyi


The latest release of Knative Eventing, version 0.8 focuses on improving Eventing features. This article thoroughly explains new features to help you quickly understand version 0.8.

New Features

Let’s deep dive into the key new features of the Knative Eventing version 0.8.

New Custom Resource Definitions: Choice

Similar to sequence, Choice defines a function running process. It allows processing events by using a function that is selected based on conditions. The following snippet defines Choice more specifically.

apiVersion: messaging.knative.dev/v1alpha1
kind: Choice
name: check-assignment
apiVersion: messaging.knative.dev/v1alpha1
kind: InMemoryChannel
- filter:
apiVersion: serving.knative.dev/v1alpha1
kind: Service
name: data-assigned
apiVersion: serving.knative.dev/v1alpha1
kind: Service
name: send-notice

Let’s take a quick look at the key elements in the preceding snippet:

  • ChannelTemplate: sets the channel to be used.
  • Cases: indicates the selection conditions.
  • Filter: indicates the filtering conditions. In this case, events are filtered by service.
  • Subscriber: indicates the service that is sent at last after the events are filtered.

Default Channel

When underlying implementation is not required, it is possible to create a channel as the default channel.

Create a default channel using the commands below.

Note that the channel is set in messaging.knative.dev/v1alpha1. The original channel based on the Provisioner model in eventing.knative.dev will be abandoned in version 0.9.

apiVersion: messaging.knative.dev/v1alpha1
kind: Channel
name: default-channel
namespace: default

Control the setting of the default channel by using ConfigMap as shown below.

apiVersion: v1
kind: ConfigMap
name: default-ch-webhook
namespace: knative-eventing
default-ch-config: |
apiVersion: messaging.knative.dev/v1alpha1
kind: InMemoryChannel
apiVersion: messaging.knative.dev/v1alpha1
kind: KafkaChannel
numPartitions: 2
replicationFactor: 1

This case specifies two default channels:

  • clusterDefault: (InMemoryChannel) Default channel at the cluster level.
  • namespaceDefaults: (KafkaChannel) Default channel at the namespace level.

Additionally, in case of no channel specification, both Brokers and Sequences support the default channel.


After upgrade, the current version supports CloudEvents since version 0.3.

Enhanced Monitoring

Following are the key monitoring enhancement capabilities:

  • Webhook supports the statistical feature.
  • Grafana and Prometheus support the collection of Eventing metrics.
  • Metric measurement is added to Broker Ingress.

Resource Name Customization

In the original Broker and Trigger, channels and subscriptions are created by using GenerateName. Since their names are automatically generated, if the listers data is not up-to-date, the channels or subscriptions may generate multiple times.

In addition, specific names may be used for ApiServerSource, ContainerSource, and original provisioner-based channels.

Other Features

In addition to the preceding features, there are a few more feature upgrades, such as:

  • CronJobSource and ApiServerSource support the registration of event types.
  • Cloud Event attributes are filtered in the trigger filter.

Other Major Changes

The following are other essential changes in the latest release of Knative Eventing:

  • The path github.com/knative/pkg is updated to knative.dev/pkg. Note that this change may affect the setting of Knative dependency packages used during code development.
  • Broker’s Ingress Handler and metrics are moved to the pkg folder.
  • All resource objects in Eventing are tagged with eventing.knative.dev/release based on the policy in Serving. It is possible to set the value to the release version or devel.
  • Kafka channels are transferred to knative-eventing-contrib.
  • In Triggers, the sourceAndType attribute will be abandoned soon, and an Attributes field will be added. This field supports both standard CloudEvents attributes and extended attributes.


This article summarizes how Knative Eventing v0.8 focuses on feature improvement. Upgrades indirectly reflect that the Knative Eventing features are becoming increasingly mature. We believe that subsequent version iterations will continue to focus on feature improvement and optimization.

We look forward to hear your thoughts and queries on Knative.

Original Source:



Alibaba Cloud

Follow me to keep abreast with the latest technology news, industry insights, and developer trends. Alibaba Cloud website:https://www.alibabacloud.com