Retour aux articlesRetour Accueil

Information sur l'article

Categorie: kubernetes, kafka, docker, devops, streaming, distributed-systems

Mise à jour: 2025-12-23

Temps de lecture: 25 min

Déployer Kafka sur Kubernetes : guide complet avec Zookeeper et Kafka-UI

Déployer Kafka sur Kubernetes : guide complet avec Zookeeper et Kafka-UI

Mise à jour: 2025-12-23


Déployer Kafka sur Kubernetes


Kafka est une plateforme de streaming distribuée très populaire. Kubernetes offre une excellente plateforme pour déployer Kafka en production avec haute disponibilité et scalabilité. Ce tutoriel vous montre comment déployer Zookeeper, Kafka et Kafka-UI sur Kubernetes.


Prérequis


- Un cluster Kubernetes fonctionnel (local avec Minikube, Docker Desktop ou un cluster cloud)

- kubectl installé et configuré

- Helm (optionnel mais recommandé)

- Au moins 4GB de RAM disponible dans le cluster


Architecture générale


L'architecture sera composée de :

- Zookeeper : coordination distribuée pour Kafka

- Kafka Broker : le système de messaging

- Kafka-UI : interface web pour gérer Kafka


Étape 1 : Créer un namespace


Commençons par créer un namespace dédié pour Kafka :


Étape 2 : Déployer Zookeeper


Zookeeper est nécessaire pour la coordination de Kafka. Créez un fichier zookeeper-deployment.yaml :

Déployez Zookeeper :


Étape 3 : Déployer Kafka Broker


Créez un fichier kafka-deployment.yaml :

Déployez Kafka :


Explication des variables d'environnement Kafka


- KAFKA_BROKER_ID : identifiant unique du broker

- KAFKA_ZOOKEEPER_CONNECT : adresse de Zookeeper

- KAFKA_ADVERTISED_LISTENERS : adresses accessibles de l'extérieur

- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR : facteur de réplication (1 pour un seul broker)


Étape 4 : Déployer Kafka-UI


Kafka-UI est une interface graphique pour gérer Kafka. Créez un fichier kafka-ui-deployment.yaml :

Déployez Kafka-UI :


Accéder à Kafka-UI


Selon votre environnement :

- Minikube : minikube service kafka-ui -n kafka

- Port forward : kubectl port-forward svc/kafka-ui 8080:8080 -n kafka

Accédez à http://localhost:8080


Étape 5 : Tester Kafka


Pour tester Kafka, connectez-vous au pod Kafka et créez un topic :

À l'intérieur du pod :


Étape 6 : Configuration avancée avec StatefulSet


Pour une production avec haute disponibilité, utilisez StatefulSet pour Kafka et Zookeeper. Créez un fichier kafka-statefulset.yaml :


Étape 7 : Monitoring et Logs


Visualisez les logs :


Points clés à retenir


Zookeeper est essentiel pour la coordination de Kafka

Utilisez StatefulSet en production pour la persistance

Kafka-UI offre une interface puissante pour gérer les topics et les partitions

Configurez les ressources (CPU, mémoire) selon votre charge

Utilisez les PersistentVolume pour les données critiques