Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added kafka features config map to kafka broker docs #5622

Merged
merged 12 commits into from
Oct 5, 2023
Merged
40 changes: 40 additions & 0 deletions docs/eventing/brokers/broker-types/kafka-broker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,46 @@ spec:
!!! note
When using an external topic, the Knative Kafka Broker does not own the topic and is not responsible for managing the topic. This includes the topic lifecycle or its general validity. Other restrictions for general access to the topic may apply. See the documentation about using [Access Control Lists (ACLs)](https://kafka.apache.org/documentation/#security_authz).

## Configure Kafka features
Cali0707 marked this conversation as resolved.
Show resolved Hide resolved

There are various kafka features/default values the Knative Kafka Broker uses when interacting with Kafka. You can configure these as follows:
Copy link
Member

@pierDipi pierDipi Jul 12, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably need to link to https://knative.dev/docs/eventing/experimental-features/ and clarify what each feature is about and how each feature works, etc.

This seems overly generic for a user to grasp.

It might be worth considering a separate page that is linked to this one

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pierDipi would all of the features in this config map be considered experimental features then?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The term experimental is used wrongly in that doc, they are really just features, each at different maturity level (alpha, beta, or stable)


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can add a line to say what is this sample config file will achieve. (What does it do if I choose to follow this configuration in general)

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: config-kafka-features
namespace: knative-eventing
data:
# Controls whether the dispatcher should use the rate limiter based on the number of virtual replicas.
# 1. Enabled: The rate limiter is applied.
# 2. Disabled: The rate limiter is not applied.
dispatcher.rate-limiter: "disabled"

# Controls whether the dispatcher should record additional metrics.
Cali0707 marked this conversation as resolved.
Show resolved Hide resolved
# 1. Enabled: The metrics are recorded.
# 2. Disabled: The metrics are not recorded.
dispatcher.ordered-executor-metrics: "disabled"

# Controls whether the controller should autoscale consumer resources with KEDA
Cali0707 marked this conversation as resolved.
Show resolved Hide resolved
# 1. Enabled: KEDA autoscaling of consumers will be setup.
# 2. Disabled: KEDA autoscaling of consumers will not be setup.
controller.autoscaler: "disabled"{% raw %}

# The Go text/template used to generate consumergroup ID for triggers.
Cali0707 marked this conversation as resolved.
Show resolved Hide resolved
# The template can reference the trigger Kubernetes metadata only.
triggers.consumergroup.template: "knative-trigger-{{ .Namespace }}-{{ .Name }}"

# The Go text/template used to generate topics for Brokers.
Cali0707 marked this conversation as resolved.
Show resolved Hide resolved
# The template can reference the broker Kubernetes metadata only.
brokers.topic.template: "knative-broker-{{ .Namespace }}-{{ .Name }}"

# The Go text/template used to generate topics for Channels.
Cali0707 marked this conversation as resolved.
Show resolved Hide resolved
# The template can reference the channel Kubernetes metadata only.
channels.topic.template: "knative-channel-{{ .Namespace }}-{{ .Name }}"
{% endraw %}
```

## Consumer Offsets Commit Interval

Kafka consumers keep track of the last successfully sent events by committing offsets.
Expand Down
Loading