Architecture Kubernetes — Composants internes & Infrastructure Cloud sécurisée
Plutôt qu'un long catalogue de définitions théoriques, abordons Kubernetes (K8s) par la modélisation visuelle :
- Comment fonctionne l'orchestrateur de l'intérieur (anatomie des composants du Control Plane et des Worker Nodes).
- Comment déployer un cluster Kubernetes en production dans un réseau privé sécurisé, exposé au web avec protection WAF/DDoS, et relié à une base de données isolée et chiffrée.
⚙️ 1. Anatomie interne : Les composants de Kubernetes
Le cluster est structuré en deux plans fondamentaux :
- Le Control Plane (Master) : le cerveau qui prend les décisions, arbitre le scheduling et conserve l'état désiré du cluster.
- Les Worker Nodes : les nœuds de calcul qui exécutent concrètement les charges de travail (Pods/Conteneurs).
📐 Schéma des composants et flux de contrôle
🛡️ 2. Architecture Kubernetes sécurisée en réseau privé (VPC Cloud)
En production bancaire ou e-commerce, les Worker Nodes ne doivent jamais avoir d'adresses IP publiques directes. Ils résident dans des sous-réseaux privés étanches au sein d'un VPC (Virtual Private Cloud).
🔍 Les principes de sécurité appliqués :
- Accès Internet entrant strictement filtré : Les utilisateurs accèdent via un domaine HTTPS protégé par un WAF (Cloudflare / AWS CloudFront / AWS WAF), qui transfère le trafic filtré à un Load Balancer public, puis à l'Ingress Controller du cluster.
- Cluster 100% privé : Les Worker Nodes ont uniquement des adresses IP privées (
10.0.x.x). La sortie vers Internet (pour télécharger une image ou appeler une API externe) passe obligatoirement par une NAT Gateway avec IP Egress fixe. - Control Plane privé / restreint : Le endpoint de l'API Kubernetes (
kube-apiserver) n'est accessible que depuis un réseau d'administration (VPN WireGuard / Tailscale ou Bastion SSH). - Gestion de la Base de Données (DB) :
- Jamais dans un conteneur éphémère : on utilise un service managé cloud (AWS RDS / Cloud SQL PostgreSQL) multi-AZ avec réplica synchrone et basculement automatique (< 60s).
- Isolation réseau maximale : La base se situe dans un sous-réseau privé dédié (Subnet Données), inaccessible depuis Internet.
- Sécurité et Chiffrement : Chiffrement KMS au repos (at-rest), TLS 1.3 en transit, et authentification sans mot de passe en dur via rôles IAM temporaires (AWS IRSA / Workload Identity) ou secrets Vault tournants.
- Séparation des charges (Commandes & Catalogue) : Les écritures transactionnelles (Commandes) ciblent l'instance Primaire, tandis que les lectures massives (Catalogue produits) s'orientent vers le Read-Replica ou le cache distribué.
- Cloisonnement Est-Ouest (NetworkPolicies) : Même si un conteneur web est compromis, des NetworkPolicies (CNI Cilium / Calico) interdisent au Pod d'attaquer directement la DB ou d'autres namespaces.
🌐 Schéma global d'infrastructure : Réseau, Sécurité & Base de Données
🔐 3. Synthèse des 5 piliers de sécurisation
Découpage strict en 3 sous-réseaux : Public (DMZ) pour le Load Balancer, Privé pour les Workers K8s sans IP publique, et Isolé pour les bases de données (aucune passerelle Internet).
Bouclier WAF en amont pour stopper les injections SQL, XSS et attaques DDoS. Les requêtes saines transitent via l'ALB puis l'Ingress Controller qui applique le routage et le TLS.
Base de données managée Cloud (RDS PostgreSQL) en Multi-AZ synchrone. Chiffrement KMS au repos, TLS 1.3 en transit, et authentification sans mot de passe via jetons IAM éphémères (IRSA).
Par défaut, tout le trafic est bloqué. Seuls les Pods ayant le label autorisé peuvent communiquer avec le port 5432 de la base de données. Même si un Pod web est compromis, l'attaquant ne peut pas scanner le réseau interne.
Voir aussi :
- Infrastructure & implémentation — du domaine au code pour l'architecture hexagonale et les ports/adapters.
- Architecture SI — intégration, plateforme et exploitation pour la scalabilité globale, la résilience et les coûts.