docker-swarm-guidelisted
Install: claude install-skill WhiteMuush/Your-Claude-DevOps
# Docker Swarm Guide
## Critères de choix : Swarm vs Kubernetes
| Critère | Swarm | Kubernetes |
|---|---|---|
| Équipe < 5 devops | ✅ | ❌ complexité op |
| Infra on-premise simple | ✅ | possible mais lourd |
| Multitenancy avancé | ❌ | ✅ |
| RBAC fin, CRDs, Operators | ❌ | ✅ |
| Stack existante Docker Compose | ✅ migration facile | conversion nécessaire |
Choisis Swarm si tu as déjà des Compose files, une petite équipe, et pas besoin de scaling horizontal à 100+ nœuds.
---
## Workflow en étapes
### 1. Initialiser le cluster
```bash
# Sur le premier manager (remplace l'IP par l'IP privée réseau inter-nœuds)
docker swarm init --advertise-addr 192.168.1.10
# Récupérer les tokens
docker swarm join-token manager # pour ajouter un manager
docker swarm join-token worker # pour ajouter un worker
# Rejoindre depuis un autre nœud
docker swarm join --token SWMTKN-1-xxx 192.168.1.10:2377
# Vérifier l'état du cluster
docker node ls
```
**Règle de quorum Raft** : toujours un nombre impair de managers.
- 3 managers → tolère 1 panne
- 5 managers → tolère 2 pannes
- Ne jamais dépasser 7 managers (latence consensus)
```bash
# Promouvoir un worker en manager
docker node promote <node-id>
# Vérifier la santé du Raft
docker node inspect self --format '{{ .ManagerStatus.Reachability }}'
```
---
### 2. Configurer les overlay networks
```bash
# Réseau chiffré pour données sensibles
docker network create \
--driver overlay \
--opt encrypted \
--subnet 10.0.1.0/24 \
backe