Community Blog What's New in Knative Eventing V.0.8

What's New in Knative Eventing V.0.8

This article pivots around the Knative Eventing version 0.8. It explains how the latest version, v0.8 focuses on feature improvement and gives a detailed account of the new features.

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.

0 0 0
Share on

Alibaba Container Service

115 posts | 26 followers

You may also like


Alibaba Container Service

115 posts | 26 followers

Related Products