Version
v1.31.0
Nodes
7 / 7
Pods
42 Running
Longhorn
Healthy
ArgoCD
3 Apps
TOPOLOGIE DU CLUSTER — FLUX DE COMMUNICATION
── etcd RAFT CONSENSUS ZONE ── ── CONTROL PLANE (HA) ── ── DATA PLANE // WORKER NODES ──
💻
kubectl
Client CLI
kubectl
Interface CLI officielle de Kubernetes. Envoie des commandes à l'API Server via HTTPS.
client
🗄
etcd-1
leader
etcd
Base de données clé-valeur distribuée. Stocke TOUT l'état du cluster. Protocole Raft pour le consensus entre les 3 instances.
statefulraft
🗄
etcd-2
follower
etcd
Réplique de l'état. Peut devenir leader si le leader tombe. Quorum = 2 sur 3 instances minimum.
follower
🗄
etcd-3
follower
etcd — Quorum
Avec 3 nœuds, le cluster tolère 1 panne. Avec 5 nœuds, il tolèrerait 2 pannes. Toujours un nombre impair !
fault-tolerant
⚙️
control-plane-1
API Server · Scheduler
Control Plane
Fait tourner : kube-apiserver, kube-scheduler, kube-controller-manager. Le cerveau du cluster.
master
⚙️
control-plane-2
API Server · CtrlMgr
Haute Disponibilité
3 control planes derrière un load balancer. Si l'un tombe, les autres continuent. Aucune interruption de service.
HA
⚙️
control-plane-3
API Server · Scheduler
kube-scheduler
Décide sur quel worker placer chaque pod en fonction des ressources disponibles, affinités et contraintes.
scheduling
🖥
worker-1
kubelet · kube-proxy
Worker Node
Fait tourner les pods applicatifs. kubelet gère les containers, kube-proxy gère le réseau (iptables/eBPF).
data plane
🖥
worker-2
kubelet · Longhorn Mgr
Longhorn Manager
Worker qui héberge le Longhorn Manager pod. Orchestre la création et la réplication des volumes persistants.
storage
🖥
worker-3
kubelet · kube-proxy
Kubelet
Agent qui tourne sur chaque node. Reçoit les PodSpecs depuis l'API Server et s'assure que les containers tournent correctement.
agent
🖥
worker-4
kubelet · ArgoCD Agent
ArgoCD App Controller
L'agent ArgoCD surveille en continu l'état réel du cluster vs l'état désiré dans Git. Reconcile automatiquement.
GitOps
💾
Longhorn CSI
Réplication ×3
Longhorn
Stockage distribué natif K8s. Chaque volume est répliqué sur N workers. Snapshots, backup S3, UI intégrée.
CSIreplicated
🐙
ArgoCD
GitOps Controller
ArgoCD — GitOps
Synchronise le cluster avec un dépôt Git. Le dépôt = source de vérité. Tout changement passe par un commit.
GitOps
📦
Git Repo
Source of Truth
Source of Truth
Le dépôt Git contient tous les manifests YAML (Deployments, Services, Ingress…). ArgoCD les applique automatiquement.
manifest
Control Plane
Worker Node
etcd (Raft)
Longhorn replication
ArgoCD GitOps
API Server → kubelet
💡 Hover sur un nœud pour les détails
ÉTAT DES NŒUDS
control-plane-1
CP
CPU 18%
control-plane-2
CP
CPU 14%
control-plane-3
CP
CPU 16%
worker-1
WK
CPU 61%
worker-2
WK
CPU 74%
worker-3
WK
CPU 48%
worker-4
WK
CPU 55%
LONGHORN — VOLUMES PERSISTANTS
Longhorn découpe les volumes en replicas distribués sur les workers. Même si un node tombe, les données restent accessibles.
postgres-data
20 Gi · RWO
✓ replicas ×3
prometheus-tsdb
50 Gi · RWO
✓ replicas ×3
loki-chunks
100 Gi · RWO
✓ replicas ×2
minio-data
200 Gi · RWX
✓ replicas ×3
RWO = ReadWriteOnce (1 node) · RWX = ReadWriteMany (tous les nodes)
Interface Longhorn dispo sur :8080/longhorn via NodePort
ARGOCD — APPLICATIONS GITOPS
ArgoCD synchronise en continu le cluster avec le dépôt Git. Git = source de vérité.
SYNCED
monitoring-stack
Prometheus · Grafana · Alertmanager
SYNCED
ingress-nginx
Ingress Controller · Cert-Manager
OUT OF SYNC
app-backend
Pending deploy → v2.4.1
🔄
Flux GitOps
commit → push → ArgoCD détecte le diff → applique automatiquement → cluster à jour
COMPOSANTS CONTROL PLANE
🔌
kube-apiserver
Point d'entrée unique. Valide et persiste tous les objets dans etcd. Expose l'API REST de Kubernetes.
📅
kube-scheduler
Surveille les pods sans node assigné et choisit le meilleur worker selon CPU, RAM, affinités, taints/tolerations.
🔁
controller-manager
Boucles de réconciliation : ReplicaSet, Deployment, Node, Job… S'assure que l'état réel = état désiré.
🗄
etcd
Base de données clé-valeur distribuée (Raft). Stocke l'intégralité de l'état du cluster. À sauvegarder absolument !
COMPOSANTS WORKER NODE
🤖
kubelet
Agent sur chaque node. Reçoit les PodSpecs, pilote le container runtime (containerd/CRI-O), remonte les métriques.
🌐
kube-proxy
Gère les règles réseau (iptables ou eBPF). Implémente les Services pour load-balancer le trafic vers les pods.
📦
Container Runtime
containerd ou CRI-O. Lance les containers à partir des images OCI. Kubernetes ne parle plus directement à Docker.
💾
Longhorn CSI Driver
Plugin CSI sur chaque node. Monte les volumes Longhorn dans les pods, réplique les blocs de données entre nodes.