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