Kubernetes : déployer et exploiter un cluster
Formation pratique de 2 jours pour comprendre Kubernetes, y déployer une application, l'exploiter selon les bonnes pratiques de production et installer soi-même un cluster avec kubeadm.
Demander un devisObjectifs pédagogiques
Contexte et enjeux
Kubernetes s'est imposé comme la plateforme de référence pour exécuter des applications conteneurisées, dans le cloud comme sur des infrastructures internes. Pour les équipes d'exploitation, la question n'est plus de savoir s'il faut l'adopter, mais comment le faire tourner de façon fiable : comprendre ce qui se passe dans le cluster, déployer sans interruption, diagnostiquer un pod en échec et maintenir les nœuds sans impact pour les utilisateurs.
Cette formation de 14 heures (2 jours) suit le parcours d'un exploitant. Le premier jour pose l'architecture (control plane, nœuds, boucle de réconciliation) et déploie Télémarché, l'application des ateliers (interface web, API et base PostgreSQL). Le second jour l'amène vers la production : configuration et stockage persistant, requests et limits, autoscaling, placement des pods, routage HTTP avec Kubernetes Gateway API, quotas, RBAC et maintenance d'un nœud. Elle se termine par l'installation d'un cluster avec kubeadm.
Les ateliers sont construits pour faire progresser plutôt que recopier : des manifestes à compléter, une solution de référence et un script de vérification qui contrôle un résultat observable (pod prêt, service joignable, volume lié, nœud drainé sans coupure). Un assistant pédagogique dans le terminal, développé par le formateur, explique en français les erreurs kubectl et les causes d'échec des pods.
Le lab de référence tourne sous Linux (AlmaLinux) : minikube pour les ateliers sur un nœud, machines virtuelles provisionnées localement par script pour les ateliers multi-nœuds et l'installation du cluster. Il est contrôlé avant chaque session et reste disponible après la formation pour continuer à pratiquer.
DEVOPS-012 s'adresse en priorité aux profils qui exploitent et administrent des clusters. Les profils orientés développement et industrialisation des déploiements (Helm, observabilité, Network Policies) suivent DEVOPS-010 — Orchestration avec Kubernetes (3 jours). Helm et l'observabilité sont proposés ici en parcours bonus, selon l'avancement du groupe.
Programme détaillé
Module 1 — Découvrir Kubernetes (1h30)
- Pourquoi orchestrer des conteneurs : ce que Docker ne fait pas seul
- Docker et Kubernetes : runtime de conteneurs, interfaces CRI, CNI et CSI
- Panorama des solutions d'installation : minikube, kind, k3s, kubeadm, offres managées
- Accéder au cluster : kubectl, API Kubernetes, tableau de bord
- Atelier : créer un cluster local, premier déploiement impératif puis déclaratif
Module 2 — Architecture et manifestes (2h)
- Control plane : API server, etcd, scheduler, controller manager
- Nœud : kubelet, containerd, kube-proxy
- Boucle de réconciliation : état désiré, état observé
- Manifestes YAML, labels et sélecteurs, namespaces
- Atelier : compléter des manifestes à trous, vérifiés par script
Module 3 — Déployer et exposer une application (3h30)
- Pod, ReplicaSet et Deployment ; révisions, rolling update et rollback
- Probes de liveness, readiness et startup
- Services ClusterIP, NodePort, LoadBalancer ; découverte par DNS et variables d'environnement
- DaemonSet, Job et CronJob ; objets avec et sans état
- Diagnostiquer un pod en échec : CrashLoopBackOff, ImagePullBackOff, Pending
- Atelier Télémarché : déployer l'interface web et l'API, mise à jour sans interruption
Module 4 — Configuration et stockage (2h)
- ConfigMaps et Secrets (encodage n'est pas chiffrement)
- StorageClass, PersistentVolume et PersistentVolumeClaim
- StatefulSet pour une base de données
- Atelier Télémarché : PostgreSQL avec stockage persistant, raccordée à l'API
Module 5 — Kubernetes en production (3h)
- Requests et limits, classes de qualité de service, OOMKilled
- Autoscaling horizontal (HPA) et metrics-server
- Placement : nodeSelector, affinité et anti-affinité, taints et tolerations
- Routage HTTP avec Kubernetes Gateway API, successeur d'Ingress (Traefik)
- Namespaces, ResourceQuota, LimitRange ; RBAC et ServiceAccounts
- Maintenance sans interruption : cordon, drain, PodDisruptionBudget
- Atelier Télémarché : accès frontal multiple, montée en charge, maintenance d'un nœud
Module 6 — Déployer un cluster Kubernetes (2h)
- Préparation des nœuds : système, runtime de conteneurs, prérequis réseau
- Installation d'un cluster minimal avec kubeadm (init, join) et addon réseau (CNI)
- Administration courante : kubeconfig, mise à jour de version, sauvegarde d'etcd
- Atelier : un nœud de control plane et deux workers, préparés par script après contrôle de l'environnement
Financement et prise en charge
Formations complémentaires
Demander un devis
Programme détaillé, dates et financement OPCO. Réponse sous 48h.