Prise en main de kubernetes
À propos du cours
Excellente suite logique à ta formation Docker : proposer une formation de prise en main de Kubernetes est essentiel pour toute personne souhaitant aller vers le déploiement moderne, scalable et orchestré d’applications en production.
🎯 L’objectif est clair : démystifier Kubernetes, comprendre comment il fonctionne, et déployer une application conteneurisée dessus, étape par étape.
🎯 Objectif de ta formation
Offrir une prise en main claire et concrète de Kubernetes, depuis la compréhension de ses concepts clés jusqu’au déploiement réel d’une application (Spring ou Angular) sur un cluster K8s.
🧭 Plan structuré de la formation : Prise en main de Kubernetes
📌 Module 1 : Introduction à Kubernetes
-
🔍 Pourquoi Kubernetes ? Que fait-il de plus que Docker seul ?
-
⚙️ Concepts fondamentaux :
-
Pod : unité de base (1 ou plusieurs conteneurs)
-
Node : machine (physique ou virtuelle)
-
Cluster : groupe de nodes géré par K8s
-
Deployment, Service, ConfigMap, Ingress
-
🖥️ Module 2 : Mise en place d’un environnement K8s
-
💻 Installer Minikube ou K3s en local (optionnel : via Docker Desktop)
-
🔧 Utiliser kubectl : installation, configuration, premières commandes
-
🎯 Objectif : avoir un cluster fonctionnel local
📦 Module 3 : Déploiement d’une application simple
-
Créer un fichier de déploiement YAML
-
Lancer un Deployment + Service
-
🔄 Exposer ton app via un port (NodePort / LoadBalancer)
-
Cas concret : déployer une app Spring Boot dockerisée
🛠️ Module 4 : Configuration et persistance
-
🧾 Utilisation des ConfigMap et Secrets
-
📁 Gestion des Volumes persistants (PVC, PV)
-
⚙️ Déploiement d’une base de données MySQL/PostgreSQL dans le cluster
🧭 Module 5 : Réseaux et Ingress Controller
-
📍 Comprendre les Services : ClusterIP, NodePort, LoadBalancer
-
🧩 Mise en place d’un Ingress (via NGINX Ingress Controller)
-
🎯 Routage basé sur les chemins ou domaines
-
🔐 (Optionnel) Ajout de SSL avec cert-manager
⚙️ Module 6 : Scaling, rolling update, auto-healing
-
🔄 Réplication avec
replicas
-
🛠️ Déploiement progressif (Rolling Update)
-
🔁 Redémarrage automatique des pods défectueux
-
📊 Monitoring de base avec
kubectl top
, readiness & liveness probes
🚀 Bonus : aller plus loin
-
🗂️ Déploiement avec Helm (gestionnaire de packages K8s)
-
🔁 CI/CD avec GitHub Actions + Kubernetes
-
☁️ Introduction aux solutions Cloud : GKE, AKS, EKS
✅ Compétences acquises par l’élève
-
Comprendre l’architecture K8s (Pods, Services, Deployments…)
-
Déployer et gérer une application conteneurisée
-
Configurer et exposer un service vers l’extérieur
-
Utiliser kubectl au quotidien
-
Préparer son application pour un environnement scalable et résilient
🧠 Idée pédagogique
Tu peux positionner cette formation :
-
En suite directe de Docker
-
En complément à la formation microservices
-
Comme formation DevOps niveau 1
💡 Bonus : Propose un projet final où l’élève déploie ton app Angular + Spring sur Kubernetes !
🧰 Outils recommandés
Besoin | Outil |
---|---|
Cluster local | Minikube / K3s / Docker Desktop |
Interface web (optionnel) | Lens, K9s, Octant |
Déploiement | Fichiers YAML + Helm |
Monitoring | Metrics-server, Prometheus |