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
3

• Conteneurisation vs virtualisation : avantages, limites, complémentarité

4

• Docker dans l'écosystème DevOps : Infrastructure as Code, CI/CD, microservices

5

• Architecture Docker : daemon, client, API, composants fondamentaux

6

• Docker Engine (Linux) et Docker Desktop (Windows/macOS) : différences et cas d'usage

7

• Syntaxe actuelle : docker compose sans tiret (Compose V1 supprimée depuis juin 2023)

8

• Vocabulaire de référence : image, conteneur, registry, daemon, Dockerfile, Compose

9

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

2h
10

• Cycle de vie d'une image : couches, cache, historique

11

• Docker Hub et registres privés : pull, push, nommage des images

12

• Instanciation d'un conteneur : options du run, modes interactif/détaché, variables d'environnement, limites de ressources

13

• Cycle de vie d'un conteneur : start, stop, restart, rm

14

• Gestion au quotidien : exec, logs, inspect, stats

15

• Approfondi en TP : déploiement et administration d'une application web dans un conteneur

16

Module 3 / Dockerfile et bonnes pratiques (1h30)

1h
17

• Instructions fondamentales : FROM, RUN, CMD, ENTRYPOINT, COPY, ADD, EXPOSE, ENV, ARG

18

• Multi-stage builds : réduction de la taille des images, images distroless et alpine

19

• Bonnes pratiques : minimisation des couches, utilisateur non-root, .dockerignore

20

• BuildKit : builder par défaut depuis Docker Engine 23, performance et parallélisation du cache

21

• Approfondi en TP : construction d'une image personnalisée avec multi-stage build

22

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

2h
23

• Volumes : bind mount, volumes nommés, tmpfs, identification et nettoyage

24

• Modèle réseau Docker : bridge, host, none, publication de ports, DNS interne

25

• Docker Compose V2 : syntaxe docker compose, fichier compose.yaml, services, réseaux, volumes

26

• Commandes essentielles : up, down, ps, logs, exec, build

27

• Dépendances entre services : depends_on avec condition service_healthy

28

• Approfondi en TP: stack multi-conteneurs avec persistance et réseau personnalisé

29

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

30

• Limites de Docker Compose en production multi-hôte

31

• Panorama de l'orchestration : Docker Swarm en évocation, transition vers Kubernetes

32

• Panorama sécurité conteneurs : surface d'attaque, scan de vulnérabilités, principes du moindre privilège

33

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

7h
34

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

2h
35

• De la conteneurisation à l'orchestration : positionnement de Kubernetes dans l'écosystème Cloud Native

36

• Kubernetes et la CNCF : gouvernance, écosystème, distributions (Minikube, kubeadm, K3s, services managés)

37

• Architecture d'un cluster : control plane (API Server, Scheduler, Controller Manager, etcd) et worker nodes (Kubelet, container runtime, Kube-proxy)

38

• Objets fondamentaux : Pod, ReplicaSet, Deployment, Service, Namespace

39

• Accéder au cluster : kubectl (CLI), Dashboard (GUI), API REST

40

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

3h
41

• Créer un déploiement manuellement et via des fichiers descriptifs YAML

42

• Syntaxe YAML : structure, indentation, bonnes pratiques

43

• Scalabilité d'un déploiement : replicas, scaling manuel

44

• Stratégies de mise à jour sans interruption : rolling update, rollback

45

• Types de services : ClusterIP, NodePort, LoadBalancer

46

• Exposer une application à l'extérieur du cluster

47

• Approfondi en TP : déploiement complet d'une application avec exposition

48

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

2h
49

• Labels, selectors et annotations : organiser et filtrer ses ressources

50

• ConfigMaps et Secrets : externaliser la configuration, manipuler les données sensibles et comprendre les limites natives des Secrets Kubernetes

51

• Liveness, readiness et startup probes : garantir la disponibilité des applications

52

• Troubleshooting : méthodologie de diagnostic d'un pod ou d'un déploiement en erreur

53

• Mention en ouverture : DaemonSets, affinité et anti-affinité de pods

54

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

7h
55

Module 9 / Stockage persistant (1h30)

1h
56

• Volumes, Persistent Volumes (PV) et Persistent Volume Claims (PVC) : concepts et cycle de vie

57

• Classes de stockage (StorageClass) : provisionnement dynamique

58

• Stratégies de rétention et de recyclage des volumes

59

• Objets stateful vs stateless : quand utiliser un StatefulSet

60

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

2h
61

• RBAC (Role-Based Access Control) : Roles, ClusterRoles, RoleBindings, ClusterRoleBindings

62

• Créer des politiques d'accès granulaires pour différents profils (développeur, opérateur, admin)

63

• ServiceAccounts : identité des pods et principes du moindre privilège

64

• Network Policies : segmenter le trafic entre pods et namespaces, sous réserve d'un CNI compatible

65

• Bonnes pratiques de sécurité : SecurityContext et durcissement des conteneurs

66

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

1h
67

• Modèle réseau de Kubernetes : communication pod-to-pod, pod-to-service, externe

68

• Service Discovery : DNS interne, variables d'environnement

69

• Ingress Controller : principes, routage HTTP/HTTPS, terminaison TLS, limites de l'API Ingress et ouverture vers Gateway API

70

Module 12 / Industrialiser avec Helm (1h30)

1h
71

• Helm : positionnement, architecture (charts, releases, repositories)

72

• Installer et utiliser Helm pour déployer des applications

73

• Structure d'un chart : templates, values, helpers

74

• Personnaliser un déploiement via les fichiers values.yaml

75

• Gérer le cycle de vie des releases : install, upgrade, rollback, uninstall

76

Atelier final de synthèse (30 min)

77

• Mise en perspective des deux briques : Docker pour le packaging, Kubernetes pour l'orchestration

78

• Panorama de la production Kubernetes : ouverture vers l'autoscaling, la haute disponibilité et le monitoring

79

• Focus d'aide à la décision : Kubernetes managé (EKS, AKS, GKE) vs on-premise

80

• Discussion ouverte sur les pratiques des participants

81

• Recommandations personnalisées pour la mise en application

Informations

Durée

3 jour(s)

21h

Tarif

Sur demande

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