Knative Eventing on OpenShift Container Platform enables developers to more easily declare how components of their system communicate, using an event-driven architecture for serverless applications.

Event-driven architecture is based on the concept of decoupled relationships between event producers and event consumers.

For more information about event-driven architecture, see What is event-driven architecture?

Knative Eventing workflows

In a Knative Eventing workflow, event producers send information to an event source about changes to system state. Examples of event producers include a Kafka cluster or the Kubernetes API server.

An event source is a resource object, which is the link between an event producer and a sink (or consumer) that receives those events. Currently, OpenShift Serverless supports the following event source types:

ApiServerSource

Connects a sink to the Kubernetes API server.

PingSource

Periodically sends ping events with a constant payload. It can be used as a timer.

SinkBinding is also supported, which allows you to connect core Kubernetes resources such as Deployment, Job, or StatefulSet with a sink.

Examples of sinks are Knative services and channels. Events can also be sent to:

  • A broker, where they can be filtered using triggers before being sent to a sink. Using the broker and trigger together enables an event delivery mechanism that hides the details of event routing from the event producer and event consumer.

  • A channel, where Knative services can "subscribe" to receive events of a certain type.

Additional resources