Docker Swarm Visualizer – Interface Web

✅ Quick Win

Déploie une interface web en une commande pour visualiser en temps réel l’état de ton cluster Docker Swarm.

Contexte

Quand tu gères un cluster Docker Swarm multi-nœuds, il est essentiel d’avoir une vue d’ensemble de l’état des services et des conteneurs. Le Swarm Visualizer d’Alex Ellis fournit exactement ça.

Installation

📄deploy-visualizer.sh
</p>
<h1>Vérifier l'état du cluster</h1>
<p>pi@pi4node001:~ $ docker node ls<br />
ID                            HOSTNAME     STATUS    AVAILABILITY   MANAGER STATUS   ENGINE VERSION<br />
ppyfmhdq6p4xpflqj17eay2cm *   pi4node001   Ready     Active         Leader           20.10.5<br />
pwsktgnu30hvtx5zkgsz4ay2v     pi4node002   Ready     Active                          20.10.5<br />
zmt3lly41a9ultipey0p42oor     pi4node003   Ready     Active                          20.10.5<br />
ushbeebwkt20orsg29uhy8420     pi4node004   Ready     Active                          20.10.5</p>
<h1>Déployer le visualizer</h1>
<p>docker service create<br />
--name viz<br />
--publish 8080:8080/tcp<br />
--constraint node.role==manager<br />
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock<br />
alexellis2/visualizer-arm:latest</p>
<h1>Vérifier le déploiement</h1>
<p>docker service ls<br />
ID             NAME      MODE         REPLICAS   IMAGE                              PORTS<br />
ki6uzmz4myuu   viz       replicated   1/1        alexellis2/visualizer-arm:latest   *:8080-&gt;8080/tcp<br />
💡 Architecture ARM

Utilise alexellis2/visualizer-arm:latest pour Raspberry Pi. Pour x86, utilise dockersamples/visualizer.

Accès

Une fois déployé, accède à l’interface via: http://IP_MANAGER:8080

L’interface affiche en temps réel:

  • 📊 Tous les nœuds du cluster
  • 🐳 Les conteneurs sur chaque nœud
  • 📈 L’état des services
  • 🔄 Les mises à jour en live

Performance

Avant K3s: ~800MB RAM
Après Swarm: ~200MB RAM
+75% plus léger
🎉

Docker Swarm est significativement moins gourmand en ressources que K3s, ce qui est idéal pour des clusters Raspberry Pi.

Configuration Avancée

Persistence des Données

Pour sauvegarder l’état du visualizer:

📄visualizer-with-volume.sh
<br />
docker service create<br />
--name viz<br />
--publish 8080:8080/tcp<br />
--constraint node.role==manager<br />
--mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock<br />
--mount type=volume,src=viz-data,dst=/data<br />
alexellis2/visualizer-arm:latest<br />

Mise à Jour

📄update-visualizer.sh
</p>
<h1>Mettre à jour l'image</h1>
<p>docker service update<br />
--image alexellis2/visualizer-arm:latest<br />
viz</p>
<h1>Vérifier le rollout</h1>
<p>docker service ps viz<br />

Troubleshooting

⚠️ Service ne démarre pas

Symptôme: Le service ne démarre pas ou redémarre en boucle.

Solutions:

  1. Vérifier que Docker socket est accessible: ls -la /var/run/docker.sock
  2. Vérifier les logs: docker service logs viz
  3. S’assurer que le port 8080 est libre: netstat -tulpn | grep 8080

🔗 Ressources


Métadonnées WordPress

Difficulté: ⭐ (Débutant) Niveau: Beginner Temps d’implémentation: 5 min Production Ready:Catégories: Docker, Swarm, SRE, Observability URL originale: https://you.arewel.com/visualisation-du-swarm/

Laisser un commentaire