Aller au contenu principal

Formation Kubernetes

Orchestration de Conteneurs et Deploiement Cloud-Native

Code du cours: 420-911-MA
Session: Hiver 2025
Enseignant: Haythem Rehouma
Institution: inskillflow academy


Vue d'Ensemble du Cours

Cette formation complete vous permettra de maitriser Kubernetes, la plateforme d'orchestration de conteneurs la plus utilisee au monde. De l'introduction aux concepts avances, vous apprendrez a deployer, gerer et scaler des applications conteneurisees en production.

Objectifs d'Apprentissage

A la fin de ce cours, vous serez capable de:

  • Comprendre l'architecture et les concepts fondamentaux de Kubernetes
  • Deployer et gerer des applications conteneurisees
  • Configurer des services, reseaux et stockage
  • Implementer la securite et le controle d'acces (RBAC)
  • Utiliser Helm pour le package management
  • Monitorer et deboguer des clusters Kubernetes
  • Deployer des applications en production avec les meilleures pratiques

Approche Pedagogique

70% Pratique - 30% Theorie

Chaque module combine:

  • Explications theoriques detaillees avec diagrammes Mermaid
  • Laboratoires pratiques hands-on
  • Exemples concrets et cas d'usage reels
  • Exercices et quiz de validation

Plan de Cours - 12 Modules

MODULE 1 - Introduction a Kubernetes

Duree: 2-3 seances

Contenu:

  • Qu'est-ce que Kubernetes et pourquoi l'utiliser?
  • Histoire et evolution (Docker vers Kubernetes)
  • Concepts fondamentaux (Pods, Nodes, Clusters)
  • Architecture Kubernetes (Control Plane vs Worker Nodes)
  • Comparaison avec d'autres solutions d'orchestration

Labs:

  • Lab 1.1: Premier Deploiement Kubernetes

MODULE 2 - Architecture et Composants Kubernetes

Duree: 2-3 seances

Contenu:

  • Architecture detaillee du Control Plane
    • API Server
    • etcd
    • Controller Manager
    • Scheduler
  • Composants des Worker Nodes
    • kubelet
    • kube-proxy
    • Container Runtime
  • Add-ons et extensions
  • Communication inter-composants

Labs:

  • Lab 2.1: Inspection du Control Plane
  • Lab 2.2: Analyse des Worker Nodes
  • Lab 2.3: Monitoring des composants systeme

MODULE 3 - Pods et Deploiements

Duree: 3-4 seances

Contenu:

  • Pods: unite atomique de deploiement
  • Declarations YAML et JSON
  • Labels et Selectors
  • ReplicaSets et gestion de la replication
  • Deployments: deploiements declaratifs
  • Strategies de deploiement (Rolling Update, Blue/Green, Canary)
  • Health Checks (Liveness, Readiness, Startup Probes)

Labs:

  • Lab 3.1: Creation et gestion de Pods
  • Lab 3.2: Deploiement avec ReplicaSets
  • Lab 3.3: Deployments et Rolling Updates
  • Lab 3.4: Configuration des Health Checks

MODULE 4 - Services et Networking

Duree: 3-4 seances

Contenu:

  • Services: exposition des applications
  • Types de Services (ClusterIP, NodePort, LoadBalancer, ExternalName)
  • Service Discovery et DNS interne
  • Endpoints et EndpointSlices
  • Network Policies
  • Ingress (concept, approfondi au Module 8)
  • CNI (Container Network Interface)

Labs:

  • Lab 4.1: Services ClusterIP et NodePort
  • Lab 4.2: Service Discovery avec DNS
  • Lab 4.3: Network Policies
  • Lab 4.4: LoadBalancer et integration cloud

MODULE 5 - Configuration et Secrets

Duree: 2-3 seances

Contenu:

  • ConfigMaps: gestion de la configuration
  • Secrets: gestion des donnees sensibles
  • Variables d'environnement
  • Volumes de type ConfigMap et Secret
  • Bonnes pratiques de securite
  • External Secrets Operator (introduction)

Labs:

  • Lab 5.1: Creation et utilisation de ConfigMaps
  • Lab 5.2: Gestion des Secrets
  • Lab 5.3: Injection de configuration dans les Pods
  • Lab 5.4: Rotation des secrets

MODULE 6 - Stockage et Volumes

Duree: 3-4 seances

Contenu:

  • Volumes: types et utilisation
  • PersistentVolumes (PV) et PersistentVolumeClaims (PVC)
  • StorageClasses et provisionnement dynamique
  • Types de stockage (local, NFS, cloud providers)
  • Volume Snapshots
  • StatefulSets: applications avec etat

Labs:

  • Lab 6.1: Volumes ephemeral et emptyDir
  • Lab 6.2: PersistentVolumes et PVCs
  • Lab 6.3: StorageClasses et provisionnement dynamique
  • Lab 6.4: StatefulSet avec stockage persistant

MODULE 7 - Workloads Avances

Duree: 3-4 seances

Contenu:

  • StatefulSets: applications avec etat
  • DaemonSets: deploiement sur tous les nodes
  • Jobs: taches ponctuelles
  • CronJobs: taches planifiees
  • Init Containers
  • Sidecar Pattern

Labs:

  • Lab 7.1: StatefulSet pour base de donnees
  • Lab 7.2: DaemonSet pour monitoring
  • Lab 7.3: Jobs et CronJobs
  • Lab 7.4: Init Containers et Sidecars

MODULE 8 - Ingress et Load Balancing

Duree: 2-3 seances

Contenu:

  • Ingress: exposition HTTP/HTTPS
  • Ingress Controllers (NGINX, Traefik, etc.)
  • Ingress Rules et Path-based routing
  • TLS/SSL et certificats
  • Load Balancing avance
  • Service Mesh (introduction Istio/Linkerd)

Labs:

  • Lab 8.1: Configuration d'Ingress NGINX
  • Lab 8.2: Path-based routing
  • Lab 8.3: TLS/SSL avec cert-manager
  • Lab 8.4: Multi-domaines et virtual hosts

MODULE 9 - Securite et RBAC

Duree: 3-4 seances

Contenu:

  • Authentification et autorisation
  • RBAC (Role-Based Access Control)
  • Roles et RoleBindings
  • ClusterRoles et ClusterRoleBindings
  • Service Accounts
  • Pod Security Policies / Pod Security Standards
  • Network Policies (approfondissement)
  • Secrets management avance

Labs:

  • Lab 9.1: Creation de Roles et RoleBindings
  • Lab 9.2: Service Accounts et permissions
  • Lab 9.3: Pod Security Standards
  • Lab 9.4: Audit de securite

MODULE 10 - Helm et Package Management

Duree: 2-3 seances

Contenu:

  • Helm: gestionnaire de packages Kubernetes
  • Charts et Releases
  • Templates et valeurs
  • Hooks et dependances
  • Creation de Charts personnalises
  • Helmfile pour la gestion multi-environnements
  • Artifact Hub et Charts publics

Labs:

  • Lab 10.1: Installation et utilisation de Charts Helm
  • Lab 10.2: Personnalisation avec values.yaml
  • Lab 10.3: Creation d'un Chart personnalise
  • Lab 10.4: Helmfile et multi-environnements

MODULE 11 - Monitoring et Observabilite

Duree: 3-4 seances

Contenu:

  • Metriques Kubernetes (cAdvisor, kube-state-metrics)
  • Prometheus: collecte et stockage de metriques
  • Grafana: visualisation et dashboards
  • Logging avec Fluentd/Fluent Bit et ELK
  • Distributed Tracing (Jaeger, Zipkin)
  • Alerting avec Alertmanager
  • Health Checks et auto-healing

Labs:

  • Lab 11.1: Installation de Prometheus et Grafana
  • Lab 11.2: Creation de dashboards personnalises
  • Lab 11.3: Configuration du logging
  • Lab 11.4: Alerting et notifications

MODULE 12 - Deploiement en Production

Duree: 3-4 seances

Contenu:

  • Preparation pour la production
  • Multi-clusters et High Availability
  • Backup et Disaster Recovery
  • CI/CD avec Kubernetes (GitOps avec ArgoCD/Flux)
  • Resource Management (Requests, Limits, QoS)
  • Autoscaling (HPA, VPA, Cluster Autoscaler)
  • Troubleshooting et debugging
  • Best practices production

Labs:

  • Lab 12.1: Configuration de Resource Management
  • Lab 12.2: Autoscaling horizontal et vertical
  • Lab 12.3: GitOps avec ArgoCD
  • Lab 12.4: Projet final complet

Outils et Technologies

Environnement de Developpement

  • kubectl: CLI Kubernetes
  • minikube / kind: Clusters locaux
  • Docker / containerd: Container Runtime
  • Helm: Package Manager
  • k9s / Lens: Outils de visualisation

Technologies Cloud

  • Kubernetes: 1.28+ (derniere version stable)
  • Container Runtime: containerd, CRI-O
  • CNI: Calico, Flannel, Weave Net
  • CSI: Storage drivers

Outils Complementaires

  • Prometheus et Grafana: Monitoring
  • Helm: Package management
  • ArgoCD / Flux: GitOps
  • cert-manager: Gestion de certificats
  • Istio / Linkerd: Service Mesh (optionnel)

Prerequis

Connaissances Prealables

  • Concepts de conteneurisation (Docker)
  • Linux et ligne de commande
  • Concepts reseau de base
  • YAML/JSON (syntaxe de base)

Materiel Requis

  • Ordinateur avec minimum 8 GB RAM (16 GB recommande)
  • 50 GB d'espace disque libre
  • Connexion Internet stable
  • Processeur 64-bit avec virtualisation activee

Logiciels a Installer

  • Docker Desktop ou Docker Engine
  • kubectl (CLI Kubernetes)
  • minikube ou kind (cluster local)
  • Helm (package manager)
  • Un IDE ou editeur de texte (VS Code recommande)

Ressources du Cours

Documentation Officielle

Livres Recommandes

  • "Kubernetes: Up and Running" - Kelsey Hightower
  • "The Kubernetes Book" - Nigel Poulton
  • "Kubernetes in Action" - Marko Luksa

Communaute


Commencez Maintenant!

Explorez les modules dans le menu lateral et commencez votre apprentissage de Kubernetes!

Bon cours et bon apprentissage!


Derniere mise a jour: Fevrier 2026