Formation en DevOps: Kubernetes - Mise en œuvre, déploiement et administration de cluster - Ascent Formation
Retour aux formations
DevOps

Kubernetes - Mise en œuvre, déploiement et administration de cluster

3 jour(s)21h

Description

Devenu incontournable dans les environnements Cloud Native, Kubernetes exige des équipes techniques une compréhension concrète de ses mécanismes et de ses usages. Cette formation permet d’acquérir les repères et les pratiques essentiels pour aborder Kubernetes de manière structurée, opérationnelle et directement exploitable.

Objectifs pédagogiques

  • Déployer et configurer un cluster Kubernetes opérationnel
  • Créer, gérer et exposer des applications conteneurisées via les objets Kubernetes
  • Diagnostiquer les dysfonctionnements courants d'un cluster et de ses workloads
  • Sécuriser les accès et les communications au sein du cluster (RBAC, Network Policies)
  • Gérer le stockage persistant et les mises à jour sans interruption
  • Industrialiser les déploiements avec Helm et exploiter Kubernetes en production

Public concerné

Développeurs
Architectes techniques
Ingénieurs de production
Administrateurs systèmes
SRE
DevOps

Prérequis

Administration système Linux (ligne de commande, Shell)
Notions sur les réseaux TCP/IP
Connaissances générales en conteneurisation (Docker ou équivalent)

Déroulé du programme

1

Jour 1 / Fondamentaux Kubernetes et exploitation des workloads (7h)

7h
2

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

2h
3

De la virtualisation à la conteneurisation : rappels et positionnement de Kubernetes dans l'écosystème Cloud Native

4

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

5

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

6

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

7

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

8

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

3h
9

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

10

Syntaxe YAML : structure, indentation, bonnes pratiques

11

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

12

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

13

Types de services : ClusterIP, NodePort, LoadBalancer, ExternalName

14

Exposer une application à l'extérieur du cluster

15

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

2h
16

Labels, selectors et annotations : organiser et filtrer ses ressources

17

Affinité et anti-affinité de nœuds et de pods : contrôler le placement

18

DaemonSets : déployer un pod sur chaque nœud

19

ConfigMaps et Secrets : externaliser la configuration et les données sensibles

20

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

21

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

22

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

7h
23

Module 4 / Stockage persistant (1h30)

1h
24

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

25

Classes de stockage (StorageClass) : provisionnement dynamique

26

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

27

Objets stateful vs stateless : quand utiliser un StatefulSet

28

Module 5 / Sécurité du cluster (2h30)

2h
29

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

30

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

31

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

32

Network Policies : segmenter le trafic réseau entre pods et namespaces

33

Bonnes pratiques de sécurité : limiter les privilèges des conteneurs, SecurityContext, restrictions de capabilities

34

Module 6 / Réseau et exposition avancée (3h)

3h
35

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

36

Service Discovery : DNS interne, variables d'environnement

37

Ingress Controller : principes, configuration, routage par nom d'hôte et par chemin

38

TLS termination : sécuriser l'accès aux applications exposées

39

Introduction aux Service Mesh (Istio, Linkerd) : positionnement et cas d'usage

40

Jour 3 / Industrialisation, production et déploiement de cluster (7h)

7h
41

Module 7 / Industrialiser avec Helm (2h30)

2h
42

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

43

Installer et utiliser Helm pour déployer des applications

44

Structure d'un chart : templates, values, helpers

45

Personnaliser un déploiement via les fichiers values.yaml

46

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

47

Créer un chart personnalisé pour une application interne

48

Module 8 / Kubernetes en production (2h30)

2h
49

Gestion des ressources : requests, limits, LimitRanges et ResourceQuotas

50

Namespaces : stratégies d'isolation par environnement ou par équipe

51

Autoscaling : Horizontal Pod Autoscaler (HPA) et Cluster Autoscaler

52

Haute disponibilité : stratégies pour le control plane et les applications

53

Mode maintenance : cordon, drain, uncordon

54

Monitoring et observabilité : Metrics Server, kubectl top, exploitation des events et des métriques de nœuds/pods, ouverture sur Prometheus et Grafana

55

Module 9 / Déployer un cluster Kubernetes (2h)

2h
56

Préparation des nœuds : configuration système, prérequis réseau et container runtime

57

Déploiement avec kubeadm : initialisation du control plane, jonction des worker nodes

58

Configuration du réseau de pods (CNI : Calico, Flannel, Cilium)

59

Mise en place du Dashboard et vérification du cluster

60

Checklist de validation post-déploiement

61

Ouverture : Kubernetes managé (EKS, AKS, GKE) vs on-premise

Informations

Durée

3 jour(s)

21h

Tarif

Sur demande