Ein lokales Kafka Setup mit Strimzi in 5 Minuten

image

In diesem Blogbeitrag zeigen wir Ihnen, wie Sie in nur 5 Minuten ein vollständiges Kafka-Setup mit Strimzi auf einem k3d Kubernetes-Cluster erstellen können. Strimzi ist ein Open-Source-Projekt, das es einfach macht, Apache Kafka auf Kubernetes-Plattformen zu betreiben, während k3d ein leichtgewichtiges Werkzeug ist, mit dem Sie ein Kubernetes-Cluster in Docker erstellen können.

Dies ist die einfachste Art und Weise erste Schritte mit Kafka durchzuführen.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Docker und k3d auf Ihrem System installiert haben.

Installation von K3d

brew install k3d

Schritt 1: Kubernetes-Cluster mit k3d erstellen

Führen Sie den folgenden Befehl aus, um einen k3d-Cluster namens "kafka-cluster" zu erstellen:

Damit startet ein lokales Kubernetes, das wir im nächsten Schritt verwenden um Kafka zu starten.

k3d cluster create kafka-cluster

Schritt 2: Strimzi installieren

Noch schneller geht es mit den fertigen Skripten für die Installation in diesem Github Repository.

Strimzi bietet einfache Kubernetes-Ressourcen für das Kafka-Cluster. Sie können es mit dem folgenden Befehl installieren:

kubectl create namespace kafka
kubectl apply -f https://github.com/strimzi/strimzi-kafka-operator/releases/latest/download/strimzi-cluster-operator.yaml -n kafka

Schritt 3: Kafka-Cluster erstellen

Erstellen Sie ein Kafka-Cluster mit Strimzi, indem Sie eine Kafka-Ressource definieren.

Strimzi arbeitet mit sogenannten CRD (Custom Resource Definitionen). Diese Definitionen erlauben es, ganz einfach über YML Konfigurationen u.a. Kafka oderKafka Connect Instanzen im Kubernetes Cluster zu starten.

Erstellen Sie eine Datei namens kafka-cluster.yaml mit dem folgenden Inhalt:

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-kafka-cluster
  namespace: kafka
spec:
  kafka:
    replicas: 1
    listeners:
      plain: {}
      tls: {}
    storage:
      type: ephemeral
  zookeeper:
    replicas: 1
    storage:
      type: ephemeral
  entityOperator:
    topicOperator: {}
    userOperator: {}

Über das Attribut "kind: Kafka" weiß der Strimzi Operater, dass hier eine Kafka Instanz gestartet werden soll.

Wenden Sie die Konfiguration an:

kubectl apply -f kafka-cluster.yaml -n kafka

Nach kurzer Zeit sollte Ihr Kafka-Cluster einsatzbereit sein.

Fazit

Herzlichen Glückwunsch! Sie haben erfolgreich ein Kafka-Cluster mit Strimzi auf einem k3d Kubernetes-Cluster erstellt. Jetzt können Sie Kafka für Ihre Anwendungen verwenden und von den leistungsstarken Messaging-Funktionen profitieren.

Viel Spaß beim Experimentieren mit Kafka und Kubernetes! Wenn Sie weitere Fragen haben, lassen Sie es uns wissen.

Neugierig geworden? Mit unserer Expertise im Bereich Kafka, Kotlin und Spring bieten wir die Möglichkeit ihre Entwicklung zu beschleunigen und produktiver zu machen.

Ein unabhängiges Architektur-Review schafft Klarheit über den Status Quo.

In unserem kostenlosen Kennenlern-Call haben Sie zudem die Möglichkeit, kostenlos erste Fragen zu platzieren.