Formation en Développement: Docker et Kubernetes - Parcours combiné : remise à niveau Docker et mise en œuvre Kubernetes - Ascent Formation
Retour aux formations
Développement

Docker et Kubernetes - Parcours combiné : remise à niveau Docker et mise en œuvre Kubernetes

3 jour(s) • 21h

Description

Ce parcours s'adresse à des équipes techniques ayant déjà été exposées à Docker et Kubernetes, mais souhaitant homogénéiser leurs pratiques et sécuriser leur passage vers des usages plus opérationnels. La première journée est consacrée à la remise à niveau Docker (architecture, conteneurs, images, Dockerfile, Docker Compose V2) afin de garantir des fondamentaux solides et homogènes au sein du groupe. Les deux journées suivantes sont dédiées à la mise en œuvre de Kubernetes : architecture du cluster, déploiement et exposition d'applications, exploitation, sécurité, stockage persistant, réseau et industrialisation avec Helm.

Objectifs pédagogiques

  • Consolider les bases Docker : architecture, images, conteneurs, volumes et réseau
  • Construire des images fiables avec Dockerfile, multi-stage builds et BuildKit
  • Orchestrer une application multi-conteneurs avec Docker Compose V2
  • Comprendre l'architecture Kubernetes et le rôle des principaux composants
  • Déployer, exposer et mettre à jour des applications conteneurisées avec Kubernetes
  • Diagnostiquer les erreurs courantes sur les pods, deployments et services
  • Gérer la configuration, les secrets et le stockage persistant
  • Contrôler les accès avec RBAC et segmenter les flux avec les Network Policies
  • Comprendre le rôle d'Ingress, les limites de l'API Ingress et l'ouverture vers Gateway API
  • Découvrir l'industrialisation des déploiements avec Helm

Public concerné

Développeurs back, front et fullstack
Architectes techniques et logiciels
Ingénieurs de production
Administrateurs systèmes
SRE et DevOps engineers
Tech leads pilotant des équipes utilisant la conteneurisation

Prérequis

Connaissances de base d'un environnement Linux/Unix (navigation terminal, commandes de base)
Notions sur les réseaux TCP/IP
Première expérience avec Docker, même limitée
Pratique du développement ou de l'administration système recommandée
Familiarité avec la ligne de commande

Déroulé du programme

1

Jour 1 / Remise à niveau Docker (7h)

7h
2

Module 1 / Positionnement et architecture de Docker (1h)

1h
  • Conteneurisation vs virtualisation : avantages, limites, complémentarité
  • Docker dans l'écosystème DevOps : Infrastructure as Code, CI/CD, microservices
  • Architecture Docker : daemon, client, API, composants fondamentaux
  • Docker Engine (Linux) et Docker Desktop (Windows/macOS) : différences et cas d'usage
  • Syntaxe actuelle : docker compose sans tiret (Compose V1 supprimée depuis juin 2023)
  • Vocabulaire de référence : image, conteneur, registry, daemon, Dockerfile, Compose
3

Module 2 / Conteneurs, images et registres (2h)

2h
  • Cycle de vie d'une image : couches, cache, historique
  • Docker Hub et registres privés : pull, push, nommage des images
  • Instanciation d'un conteneur : options du run, modes interactif/détaché, variables d'environnement, limites de ressources
  • Cycle de vie d'un conteneur : start, stop, restart, rm
  • Gestion au quotidien : exec, logs, inspect, stats
  • Approfondi en TP : déploiement et administration d'une application web dans un conteneur
4

Module 3 / Dockerfile et bonnes pratiques (1h30)

1h
  • Instructions fondamentales : FROM, RUN, CMD, ENTRYPOINT, COPY, ADD, EXPOSE, ENV, ARG
  • Multi-stage builds : réduction de la taille des images, images distroless et alpine
  • Bonnes pratiques : minimisation des couches, utilisateur non-root, .dockerignore
  • BuildKit : builder par défaut depuis Docker Engine 23, performance et parallélisation du cache
  • Approfondi en TP : construction d'une image personnalisée avec multi-stage build
5

Module 4 / Volumes, réseau et Docker Compose V2 (2h)

2h
  • Volumes : bind mount, volumes nommés, tmpfs, identification et nettoyage
  • Modèle réseau Docker : bridge, host, none, publication de ports, DNS interne
  • Docker Compose V2 : syntaxe docker compose, fichier compose.yaml, services, réseaux, volumes
  • Commandes essentielles : up, down, ps, logs, exec, build
  • Dépendances entre services : depends_on avec condition service_healthy
  • Approfondi en TP: stack multi-conteneurs avec persistance et réseau personnalisé
6

Module 5 / Ouverture sur l'orchestration (30 min)

  • Limites de Docker Compose en production multi-hôte
  • Panorama de l'orchestration : Docker Swarm en évocation, transition vers Kubernetes
  • Panorama sécurité conteneurs : surface d'attaque, scan de vulnérabilités, principes du moindre privilège
7

Jour 2 / Mise en œuvre Kubernetes : fondamentaux et exploitation (7h)

7h
8

Module 6 / Positionnement et architecture de Kubernetes (2h)

2h
  • De la conteneurisation à l'orchestration : positionnement de Kubernetes dans l'écosystème Cloud Native
  • Kubernetes et la CNCF : gouvernance, écosystème, distributions (Minikube, kubeadm, K3s, services managés)
  • Architecture d'un cluster : control plane (API Server, Scheduler, Controller Manager, etcd) et worker nodes (Kubelet, container runtime, Kube-proxy)
  • Objets fondamentaux : Pod, ReplicaSet, Deployment, Service, Namespace
  • Accéder au cluster : kubectl (CLI), Dashboard (GUI), API REST
9

Module 7 / Déploiement et exposition d'applications (3h)

3h
  • Créer un déploiement manuellement et via des fichiers descriptifs YAML
  • Syntaxe YAML : structure, indentation, bonnes pratiques
  • Scalabilité d'un déploiement : replicas, scaling manuel
  • Stratégies de mise à jour sans interruption : rolling update, rollback
  • Types de services : ClusterIP, NodePort, LoadBalancer
  • Exposer une application à l'extérieur du cluster
  • Approfondi en TP : déploiement complet d'une application avec exposition
10

Module 8 / Exploitation et diagnostic des workloads (2h)

2h
  • Labels, selectors et annotations : organiser et filtrer ses ressources
  • ConfigMaps et Secrets : externaliser la configuration, manipuler les données sensibles et comprendre les limites natives des Secrets Kubernetes
  • Liveness, readiness et startup probes : garantir la disponibilité des applications
  • Troubleshooting : méthodologie de diagnostic d'un pod ou d'un déploiement en erreur
  • Mention en ouverture : DaemonSets, affinité et anti-affinité de pods
11

Jour 3 / Stockage, sécurité, réseau et industrialisation (7h)

7h
12

Module 9 / Stockage persistant (1h30)

1h
  • Volumes, Persistent Volumes (PV) et Persistent Volume Claims (PVC) : concepts et cycle de vie
  • Classes de stockage (StorageClass) : provisionnement dynamique
  • Stratégies de rétention et de recyclage des volumes
  • Objets stateful vs stateless : quand utiliser un StatefulSet
13

Module 10 / Sécurité du cluster (2h)

2h
  • RBAC (Role-Based Access Control) : Roles, ClusterRoles, RoleBindings, ClusterRoleBindings
  • Créer des politiques d'accès granulaires pour différents profils (développeur, opérateur, admin)
  • ServiceAccounts : identité des pods et principes du moindre privilège
  • Network Policies : segmenter le trafic entre pods et namespaces, sous réserve d'un CNI compatible
  • Bonnes pratiques de sécurité : SecurityContext et durcissement des conteneurs
14

Module 11 / Réseau et exposition avancée (1h30)

1h
  • Modèle réseau de Kubernetes : communication pod-to-pod, pod-to-service, externe
  • Service Discovery : DNS interne, variables d'environnement
  • Ingress Controller : principes, routage HTTP/HTTPS, terminaison TLS, limites de l'API Ingress et ouverture vers Gateway API
15

Module 12 / Industrialiser avec Helm (1h30)

1h
  • Helm : positionnement, architecture (charts, releases, repositories)
  • Installer et utiliser Helm pour déployer des applications
  • Structure d'un chart : templates, values, helpers
  • Personnaliser un déploiement via les fichiers values.yaml
  • Gérer le cycle de vie des releases : install, upgrade, rollback, uninstall
16

Atelier final de synthèse (30 min)

  • Mise en perspective des deux briques : Docker pour le packaging, Kubernetes pour l'orchestration
  • Panorama de la production Kubernetes : ouverture vers l'autoscaling, la haute disponibilité et le monitoring
  • Focus d'aide à la décision : Kubernetes managé (EKS, AKS, GKE) vs on-premise
  • Discussion ouverte sur les pratiques des participants
  • Recommandations personnalisées pour la mise en application

Informations

Durée

3 jour(s)

21h

Tarif

Sur demande