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