A Knative Eventing Broker is an addressable event-ingress resource. It receives events from external sources, stores messages in a channel, and makes them available to subscribers through Knative Triggers. section 9.3.3
Use the Broker to separate event ingestion from filtering, routing, and service execution:
- Event sources send or pull events into the Broker. section 9.3.3
- Triggers filter events by attributes and route matching events to Kubernetes or Knative Services. section 9.3.3
- Channels hold messages while they are processed, using in-memory storage or persistent systems such as Pub/Sub and Kafka. section 9.3.3
- Namespaces can host separate Brokers for different message types, with accepted events controlled through filtering and configuration. section 9.3.3
Default Broker configuration
A Broker manifest can select the MTChannelBasedBroker implementation and connect it to a ConfigMap that defines the default channel. Deploying the Eventing component also requires the Eventing CRDs, core components, default channel layer, and Broker layer. section 9.3.3 section 9.3.5
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
annotations:
eventing.knative.dev/broker.class: MTChannelBasedBroker
name: default
namespace: default
spec:
config:
apiVersion: v1
kind: ConfigMap
name: config-br-default-channel
namespace: knative-eventing
Inspect the Kubernetes manifest for a namespace-scoped default Broker and its configured channel. section 9.3.3
