Strimzi, açık kaynak, Apache Kafka’ nın kubernetes ortamında daha kolay bir şekilde kurulup, yönetilmesi için tasarlanmış bir kafka operatördür.
Strimzi bizlere Kafka, Zookeeper, KafkaConnect, MirrorMaker ve diğer Kafka bileşenlerini kolay bir şekilde deploy etmemizi ve dakikalar içerisinde Kafka Cluster’ ı oluşturabilmemizi sağlar.
Strimzi’ yi Kubernetes Cluster’ ımıza Helm aracılığıyla kolay bir şekilde kurabiliriz, şimdi Strimzi’ yi Helm ile kurup, Kafka Cluster’ ımızı ayağa kaldıralım.
Strimzi 0.40 versiyonunun çalışması için kubernetes ortamınızın 1.23 ve üzeri olması gerektiğini unutmayalım.
helm repo add strimzi https://strimzi.io/charts
Strimzi örneğimiz için bir namespace oluşturalım,
root@master-node:/home/mada/strimzi-kafka/strimzi-kafka-operator# kubectl create namespace strimzi-kafka
namespace/strimzi-kafka created
Şimdi strimzi kurulumunu tamamlayalım.
root@master-node:/home/mada/strimzi-kafka/strimzi-kafka-operator# helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator –version 0.40.0 -n strimzi-kafka
NAME: strimzi-kafka-operator
LAST DEPLOYED: Wed Mar 27 22:13:43 2024
NAMESPACE: strimzi-kafka
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing strimzi-kafka-operator-0.40.0
Kurulum tamamlandı, operatörümüzü kontrol edelim,

Aşağıdaki yaml dosyası ile 3 replica zookeeper ve kafka cluster’ı ayağa kaldıralım,
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: strimzi-kafka
spec:
kafka:
version: 3.6.2
replicas: 3
listeners:
– name: plain
port: 9092
type: internal
tls: false
– name: tls
port: 9093
type: internal
tls: true
config:
offsets.topic.replication.factor: 3
transaction.state.log.replication.factor: 3
transaction.state.log.min.isr: 2
default.replication.factor: 3
min.insync.replicas: 2
inter.broker.protocol.version: “3.6.2”
storage:
type: ephemeral
zookeeper:
replicas: 3
storage:
kubectl apply -f kafka.yaml -n strimzi-kafka
Hemen pod’ larımızı kontrol edelim, projemiz için operatörüm oluşmuş ve pod’larımız ayakta,

Şimdi Kafka için webui’ ı deploy edelim ve arayüzden cluster’ ımızı görüntüleyelim.
UI için aşağıdaki yaml dosyasını kullanabiliriz, env kısmında tanımlanan url’leri değiştirelim kendi deployment larımıza göre;
# manifests/kafka-ui.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: kafka-ui
name: kafka-ui
spec:
type: NodePort
ports:
– port: 8080
targetPort: 8080
selector:
app: kafka-ui
—
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: kafka-ui
name: kafka-ui
spec:
replicas: 1
selector:
matchLabels:
app: kafka-ui
template:
metadata:
labels:
app: kafka-ui
spec:
containers:
– image: provectuslabs/kafka-ui:v0.7.1
name: kafka-ui-container
ports:
– containerPort: 8080
env:
– name: KAFKA_CLUSTERS_0_NAME
value: strimzi-kafka
– name: KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS
value: strimzi-kafka-kafka-bootstrap:9092
– name: KAFKA_CLUSTERS_0_ZOOKEEPER
value: dstrimzi-kafka-kafka-zookeeper-client:2181
resources: {}
kubectl apply -f kafkaui.yaml -n strimzi-kafka
service/kafka-ui created
deployment.apps/kafka-ui created


Sistemimiz hazır, görüldüğü üzere strimzi ile hızlı bir şekilde kafka cluster’ ımızı oluşturup yönetebilmekteyiz.
Faydalı Olması Dileklerimle,