Terminal portuaire de nuit à Hong Kong : une rangée de portiques chargent des porte-conteneurs, image d'un cluster de nœuds exploité ensemble
Photo : Timelab / Unsplash
DEVOPS-012

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.

14 heures Admins systèmes, ops, développeurs Kubernetes kubeadm
Demander un devis

Objectifs pédagogiques

Expliquer l'architecture de Kubernetes et le rôle de chacun de ses composants
Décrire une application en manifestes YAML, la déployer et la mettre à jour sans interruption
Exposer une application, externaliser sa configuration et lui attribuer un stockage persistant
Appliquer les bonnes pratiques de production : ressources, autoscaling, placement, quotas et contrôle des accès
Installer un cluster Kubernetes minimal avec kubeadm et en assurer l'administration courante

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

PDC Plan de Développement des Compétences — Dispositif principal pour les formations salariés. Prise en charge via votre OPCO.
OPCO OPCOs ciblés — OPCO 2i, Atlas, Constructys, Afdas, AKTO. Formation infrastructure cloud éligible au développement des compétences numériques.

Demander un devis

Programme détaillé, dates et financement OPCO. Réponse sous 48h.