mirror of https://github.com/knative/docs.git
Added kafka features config map to kafka broker docs (#5622)
* Added kafka features config map to kafka broker docs * Update docs/eventing/brokers/broker-types/kafka-broker/README.md Co-authored-by: Leo Li <leoli@redhat.com> * Update docs/eventing/brokers/broker-types/kafka-broker/README.md Co-authored-by: Leo Li <leoli@redhat.com> * Update docs/eventing/brokers/broker-types/kafka-broker/README.md Co-authored-by: Leo Li <leoli@redhat.com> * Update docs/eventing/brokers/broker-types/kafka-broker/README.md Co-authored-by: Leo Li <leoli@redhat.com> * Update docs/eventing/brokers/broker-types/kafka-broker/README.md Co-authored-by: Leo Li <leoli@redhat.com> * Update docs/eventing/brokers/broker-types/kafka-broker/README.md Co-authored-by: Pierangelo Di Pilato <pierangelodipilato@gmail.com> * Moved kafka features config info to new page * Apply suggestions from code review Co-authored-by: Pierangelo Di Pilato <pierangelodipilato@gmail.com> * Follow example from serving for documenting configmap keys Signed-off-by: Calum Murray <cmurray@redhat.com> * Fix macro Signed-off-by: Calum Murray <cmurray@redhat.com> --------- Signed-off-by: Calum Murray <cmurray@redhat.com> Co-authored-by: Leo Li <leoli@redhat.com> Co-authored-by: Pierangelo Di Pilato <pierangelodipilato@gmail.com>
This commit is contained in:
parent
6d938133f7
commit
76afdd587f
|
|
@ -191,7 +191,9 @@ nav:
|
||||||
- Available Broker types: eventing/brokers/broker-types/README.md
|
- Available Broker types: eventing/brokers/broker-types/README.md
|
||||||
# add default IMC broker page, page explaining broker types
|
# add default IMC broker page, page explaining broker types
|
||||||
- Channel based Broker: eventing/brokers/broker-types/channel-based-broker/README.md
|
- Channel based Broker: eventing/brokers/broker-types/channel-based-broker/README.md
|
||||||
- Apache Kafka: eventing/brokers/broker-types/kafka-broker/README.md
|
- Apache Kafka:
|
||||||
|
- About Apache Kafka Broker: eventing/brokers/broker-types/kafka-broker/README.md
|
||||||
|
- Configuring Kafka features: eventing/brokers/broker-types/kafka-broker/configuring-kafka-features.md
|
||||||
- RabbitMQ Broker: eventing/brokers/broker-types/rabbitmq-broker/README.md
|
- RabbitMQ Broker: eventing/brokers/broker-types/rabbitmq-broker/README.md
|
||||||
- Creating a Broker: eventing/brokers/create-broker.md
|
- Creating a Broker: eventing/brokers/create-broker.md
|
||||||
- Developer configuration options: eventing/brokers/broker-developer-config-options.md
|
- Developer configuration options: eventing/brokers/broker-developer-config-options.md
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ Notable features are:
|
||||||
|
|
||||||
- Control plane High Availability
|
- Control plane High Availability
|
||||||
- Horizontally scalable data plane
|
- Horizontally scalable data plane
|
||||||
- [Extensively configurable](#kafka-producer-and-consumer-configurations)
|
- [Extensively configurable](./configuring-kafka-features)
|
||||||
- Ordered delivery of events based on [CloudEvents partitioning extension](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/extensions/partitioning.md)
|
- Ordered delivery of events based on [CloudEvents partitioning extension](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/extensions/partitioning.md)
|
||||||
- Support any Kafka version, see [compatibility matrix](https://cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix)
|
- Support any Kafka version, see [compatibility matrix](https://cwiki.apache.org/confluence/display/KAFKA/Compatibility+Matrix)
|
||||||
- Supports 2 [data plane modes](#data-plane-isolation-vs-shared-data-plane): data plane isolation per-namespace or shared data plane
|
- Supports 2 [data plane modes](#data-plane-isolation-vs-shared-data-plane): data plane isolation per-namespace or shared data plane
|
||||||
|
|
@ -440,7 +440,7 @@ Upon the creation of the first `Broker` with `KafkaNamespaced` class, the `kafka
|
||||||
|
|
||||||
All the configuration mechanisms that are available for the `Kafka` Broker class are also available for the brokers with `KafkaNamespaced` class with these exceptions:
|
All the configuration mechanisms that are available for the `Kafka` Broker class are also available for the brokers with `KafkaNamespaced` class with these exceptions:
|
||||||
|
|
||||||
* [Above](#kafka-producer-and-consumer-configurations) it is described how producer and consumer configurations is done by modifying the `config-kafka-broker-data-plane` configmap in the `knative-eventing` namespace. Since Kafka Broker controller propagates this configmap into the user namespace, currently there is no way to configure producer and consumer configurations per namespace. Any value set in the `config-kafka-broker-data-plane` `ConfigMap` in the `knative-eventing` namespace will be also used in the user namespace.
|
* [This page](./configuring-kafka-features) describes how producer and consumer configurations is done by modifying the `config-kafka-broker-data-plane` configmap in the `knative-eventing` namespace. Since Kafka Broker controller propagates this configmap into the user namespace, currently there is no way to configure producer and consumer configurations per namespace. Any value set in the `config-kafka-broker-data-plane` `ConfigMap` in the `knative-eventing` namespace will be also used in the user namespace.
|
||||||
* Because of the same propagation, it is also not possible to configure consumer offsets commit interval per namespace.
|
* Because of the same propagation, it is also not possible to configure consumer offsets commit interval per namespace.
|
||||||
* A few more configmaps are propagated: `config-tracing` and `kafka-config-logging`. This means, tracing and logging are also not configurable per namespace.
|
* A few more configmaps are propagated: `config-tracing` and `kafka-config-logging`. This means, tracing and logging are also not configurable per namespace.
|
||||||
* Similarly, the data plane deployments are propagated from the `knative-eventing` namespace to the user namespace. This means that the data plane deployments are not configurable per namespace and will be identical to the ones in the `knative-eventing` namespace.
|
* Similarly, the data plane deployments are propagated from the `knative-eventing` namespace to the user namespace. This means that the data plane deployments are not configurable per namespace and will be identical to the ones in the `knative-eventing` namespace.
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
# Configuring Kafka Features
|
||||||
|
|
||||||
|
There are many different configuration options for how Knative Eventing and the Knaitve Broker for Apache Kafka interact with the Apache Kafka clusters.
|
||||||
|
|
||||||
|
## Configure Knative Eventing Kafka features
|
||||||
|
|
||||||
|
There are various kafka features/default values the Knative Kafka Broker uses when interacting with Kafka.
|
||||||
|
|
||||||
|
### Consumer Group ID for Triggers
|
||||||
|
|
||||||
|
The `triggers.consumergroup.template` value determines the template used to generate the consumer group ID used by your triggers.
|
||||||
|
|
||||||
|
* **Global key:** `triggers.consumergroup.template`
|
||||||
|
* **Possible values:**: Any valid [go text/template](https://pkg.go.dev/text/template)
|
||||||
|
* **Default:** `{% raw %}knative-trigger-{{ .Namespace }}-{{ .Name }}{% endraw %}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
=== "Global (ConfigMap)"
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: config-kafka-features
|
||||||
|
namespace: knative-eventing
|
||||||
|
data:
|
||||||
|
triggers.consumergroup.template: {% raw %}"knative-trigger-{{ .Namespace }}-{{ .Name }}"{% endraw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Broker topic name template
|
||||||
|
|
||||||
|
The `brokers.topic.template` values determines the template used to generate the Kafka topic names used by your brokers.
|
||||||
|
|
||||||
|
* **Global Key:** `brokers.topic.template`
|
||||||
|
* **Possible values:** Any valid [go text/template](https://pkg.go.dev/text/template)
|
||||||
|
* **Default:** `{% raw %}knative-broker-{{ .Namespace }}-{{ .Name }}{% endraw %}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
=== "Global (ConfigMap)"
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: config-kafka-features
|
||||||
|
namespace: knative-eventing
|
||||||
|
data:
|
||||||
|
brokers.topic.template: {% raw %}"knative-broker-{{ .Namespace }}-{{ .Name }}"{% endraw %}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Channel topic name template
|
||||||
|
|
||||||
|
The `channels.topic.template` value determines the template used to generate the kafka topic names used by your channels.
|
||||||
|
|
||||||
|
* **Global Key:** `channels.topic.template`
|
||||||
|
* **Possible values:** Any valid [go text/template](https://pkg.go.dev/text/template)
|
||||||
|
* **Default:** `{% raw %}messaging-kafka.{{ .Namespace }}.{{ .Name }}{% endraw %}`
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
=== "Global (ConfigMap)"
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: config-kafka-features
|
||||||
|
namespace: knative-eventing
|
||||||
|
data:
|
||||||
|
channels.topic.template: {% raw %}"messaging-kafka.{{ .Namespace }}.{{ .Name }}"{% endraw %}
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue