Kafka Strimzi Operatör

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,

Image 23 1024x233

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,

Image 24 1024x189

Ş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

Image 25 1024x450
Image 26 1024x385

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

Faydalı Olması Dileklerimle,

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir