Configure Kafka Channels
Note
This guide assumes Knative Eventing is installed in the knative-eventing
namespace. If you have installed Knative Eventing in a different namespace, replace knative-eventing
with the name of that namespace.
To use Kafka Channels, you must:
- Install the KafkaChannel custom resource definition (CRD).
- Create a ConfigMap that specifies default configurations for how KafkaChannel instances are created.
Create a kafka-channel
ConfigMap
Create a
kafka-channel
ConfigMap by running the command:kubectl apply -f - <<EOF
apiVersion: v1
kind: ConfigMap
metadata:
name: kafka-channel
namespace: knative-eventing
data:
channelTemplateSpec: |
apiVersion: messaging.knative.dev/v1beta1
kind: KafkaChannel
spec:
numPartitions: 3
replicationFactor: 1
EOF
Note
This example specifies two extra parameters that are specific to Kafka Channels;
numPartitions
andreplicationFactor
.Optional. To create a Broker that uses Kafka Channels, specify the
kafka-channel
ConfigMap in the Broker spec. You can do this by running the command:kubectl apply -f - <<EOF
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
annotations:
eventing.knative.dev/broker.class: MTChannelBasedBroker
name: kafka-backed-broker
namespace: default
spec:
config:
apiVersion: v1
kind: ConfigMap
name: kafka-channel
namespace: knative-eventing
EOF