Three Kafka nodes + Three ZooKeeper nodes Can tolerate 1 node failure 3 replicas distributed across different nodes Use Azure Disk SSD SCRAM-SHA-512 + ACLs |
||
|---|---|---|
| .. | ||
| README.md | ||
| storage-class.yaml | ||
| strimzi-kafka-cluster.yaml | ||
| values.yaml | ||
| vpa.yaml | ||
Kafka Configuration for Freeleaps Data Platform
This directory contains the Kafka configuration for the Freeleaps Data Platform.
Files
values.yaml- Original Bitnami Kafka Helm values (legacy)vpa.yaml- Vertical Pod Autoscaler configurationstrimzi-kafka-cluster.yaml- Strimzi Kafka Operator cluster configurationREADME.md- This file
Migration from Bitnami to Strimzi
Current State
- Existing: Bitnami Kafka deployment (single node)
- Target: Strimzi Kafka Operator with HA cluster (3 brokers + 3 ZK nodes)
Migration Steps
-
Install Strimzi Operator (already done)
helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator \ --namespace freeleaps-data-platform -
Delete existing Kafka deployment
kubectl delete statefulset kafka-controller -n freeleaps-data-platform kubectl delete service kafka kafka-controller-headless -n freeleaps-data-platform kubectl delete configmap kafka-controller-configuration -n freeleaps-data-platform kubectl delete pvc data-kafka-controller-0 -n freeleaps-data-platform -
Deploy new Strimzi Kafka cluster
kubectl apply -f strimzi-kafka-cluster.yaml
New Cluster Features
- High Availability: 3 Kafka brokers + 3 Zookeeper nodes
- Authentication: SCRAM-SHA-512
- Storage: 20Gi per broker, 10Gi per ZK node
- Replication: 3x replication factor
- Security: TLS support for internal communication
Monitoring
Check cluster status:
kubectl get kafka -n freeleaps-data-platform
kubectl get kafkatopic -n freeleaps-data-platform
kubectl get kafkauser -n freeleaps-data-platform
Client Configuration
For applications connecting to the new Kafka cluster, use:
- Bootstrap servers:
kafka-cluster-kafka-bootstrap.freeleaps-data-platform.svc.freeleaps.cluster:9092 - Authentication: SCRAM-SHA-512
- Username:
freeleaps-user - Password: Generated by Strimzi (check the secret)
Storage Requirements
- Kafka brokers: 3 × 20Gi = 60Gi
- Zookeeper: 3 × 10Gi = 30Gi
- Total: 90Gi
Network Policy
The cluster includes network policies that allow:
- Internal cluster communication
- External client access (with proper authentication)
- Metrics collection (if enabled)