Orchestration avec Kubernetes
Déployer et exploiter des applications déclaratives sur un cluster, comprendre les contrôleurs et diagnostiquer les objets distribués.
Objectifs
- Comprendre l'architecture d'un cluster
- Déployer une application avec des objets déclaratifs
- Exposer, configurer et mettre à jour un service
- Gérer stockage, santé et montée en charge
- Diagnostiquer un déploiement défaillant
Notions abordées
- 01API Kubernetes et contrôleurs
- 02Pods, Deployments et Services
- 03ConfigMaps et Secrets
- 04Ingress
- 05Volumes et StatefulSets
- 06Probes, ressources et autoscaling
- 07RBAC et sécurité de base
- 08Dépannage avec kubectl et journaux
Compétences
- Déployer sur Kubernetes
- Exploiter un service distribué
- Diagnostiquer un objet
Outils
Cours
Leçons de la matière
12 leçon(s) déjà reliée(s) à cette matière. Le contenu reste accessible librement, dans l’ordre proposé ou à la carte.
- 01→
Kubernetes (1/12) — Namespace & premier Pod
K3s est installé sur ton cluster (un master, un worker). Avant toute théorie, on crée un espace de travail isolé et on lance un premier Pod — puis on l'observe et on entre dedans.
- 02→
Kubernetes (2/12) — Du Pod nu au Deployment
Un Pod seul est fragile : supprime-le, rien ne le recrée. On le prouve, puis on découvre le Deployment — le contrôleur qui maintient l'état voulu et répare tout seul.
- 03→
Kubernetes (3/12) — Nodes & scheduling
Tes Pods tournent… mais où ? On découvre les nodes (master, worker), comment le scheduler décide où placer chaque Pod, et ce qui se passe vraiment quand on scale.
- 04→
Kubernetes (4/12) — Rolling updates & rollback
Comment changer la version de ton appli sans coupure — et revenir en arrière en une commande si ça casse. On observe le remplacement progressif des Pods, puis le rollback.
- 05→
Kubernetes (5/12) — Exposer un Deployment : le Service
Les Pods changent d'IP et de nom sans cesse. Comment leur parler de façon stable ? Le Service : une porte d'entrée fixe qui route vers les bons Pods — non par leur nom, mais par leurs labels.
- 06→
Kubernetes (6/12) — Networking : selector, endpoints, DNS
On ouvre le capot du Service : comment il sélectionne les Pods (labels), à quoi correspondent les endpoints, comment le DNS interne résout les noms, et comment le trafic est réparti entre les Pods.
- 07→
Kubernetes (7/12) — Ingress & HTTPS
Ton Service marche dans le cluster ; il faut maintenant l'ouvrir sur Internet, en HTTPS. On utilise Traefik (intégré à K3s) comme Ingress Controller, puis on active les certificats automatiques via ACME.
- 08→
Kubernetes (8/12) — Secrets & imagePullSecret (Harbor)
Ton cluster tourne avec des images publiques. Pour déployer TA propre image depuis Harbor (privé), il doit s'authentifier. On découvre les Secrets, puis l'imagePullSecret qui connecte le cluster à ton registre.
- 09→
Kubernetes (9/12) — ConfigMap vs Secret
Comment configurer une appli sans reconstruire l'image ? ConfigMap pour le non-sensible, Secret pour le sensible. Et une leçon clé : ENV ne se met pas à jour à chaud, contrairement aux fichiers montés.
- 10→
Kubernetes (10/12) — Probes : readiness & liveness
« Running » ne veut pas dire « en bonne santé » ni « prêt ». On ajoute les probes : readiness contrôle le trafic, liveness déclenche l'auto-réparation. C'est le healthcheck de Docker, en version orchestrée.
- 11→
Kubernetes (11/12) — Resources : requests, limits, QoS
Rien n'empêche un Pod de dévorer tout le CPU/RAM d'un node. On établit un contrat de ressources : requests (ce dont j'ai besoin), limits (mon maximum), et les classes QoS qui décident qui survit sous pression.
- 12→
Kubernetes (12/12) — Helm : empaqueter l'application
Gérer des dizaines de manifestes YAML séparés devient ingérable. Helm empaquette toute une application (Deployment, Service, Ingress, config) en un chart réutilisable, avec valeurs, versions et rollback.
Dans les formations