Kafka
This reference documents the Kubernetes configuration options for the Kafka chart, which provides a message bus to store telemetry data for the Grafbase platform.
All configuration options are nested under the kafka
key.
Note: As of v0.9.0, this is a custom chart using the official Apache Kafka Docker image (apache/kafka:3.9.0) instead of the deprecated Bitnami chart. The chart is configured for KRaft mode and does not require Zookeeper. See the v0.9.0 release notes for migration information.
Important: This chart is primarily intended for proof-of-concept deployments. For production use, we recommend using your own Kafka infrastructure or a managed Kafka service.
Container image configuration for Kafka.
Defaults:
image:
repository: apache/kafka
tag: "3.9.0"
pullPolicy: IfNotPresent
Number of Kafka broker replicas. This is a single-node configuration by default.
Defaults:
replicas: 1
Service configuration for exposing Kafka.
Defaults:
service:
type: ClusterIP
port: 9092
nodePort: "" # Only used when type is NodePort
Persistence configuration for Kafka data.
Defaults:
persistence:
enabled: true
size: 8Gi
Resource requests and limits for the Kafka container.
Defaults:
resources:
limits:
cpu: 500m
memory: 500Mi
requests:
cpu: 500m
memory: 500Mi
Additional Kafka broker configuration. These settings are applied to the Kafka server properties.
Defaults:
extraConfig:
replica.fetch.max.bytes: "524288000"
message.max.bytes: "524288000"
Topics are no longer created automatically by this chart. You'll need to create the required topics (otlp_metrics
, otlp_spans
, otlp_logs
) after deployment using Kafka command-line tools or your Kafka management interface.
Example topic creation:
kubectl exec -it <kafka-pod> -- kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create --topic otlp_metrics
kubectl exec -it <kafka-pod> -- kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create --topic otlp_spans
kubectl exec -it <kafka-pod> -- kafka-topics.sh \
--bootstrap-server localhost:9092 \
--create --topic otlp_logs
The simplified chart does not include built-in authentication. For production deployments, configure authentication through your own Kafka infrastructure with appropriate SASL/SSL settings.