Kubernetes s’est imposé comme le standard d’orchestration de conteneurs en production. Cette formation vous apprend à déployer et administrer un cluster Kubernetes, manipuler les ressources fondamentales (pods, services, Ingress, volumes), et mettre en oeuvre des stratégies de déploiement et de mise à l’échelle. Vous terminez par un projet complet de déploiement d’une application d’entreprise multi-tiers.
Public visé
Architectes, administrateurs systèmes ou Cloud, développeurs DevOps, chefs de projet technique ayant besoin de comprendre et de mettre en oeuvre l’orchestration de conteneurs avec Kubernetes.
Prérequis
Avoir suivi cette formation, ou en maîtriser les thèmes abordés :
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Expliquer les principes de l’orchestration de conteneurs
- Manipuler les ressources de base Kubernetes
- Déployer et administrer des applications sur un cluster Kubernetes
- Surveiller, sécuriser et diagnostiquer les déploiements
- Gérer les configurations, secrets et stratégies de mise à l’échelle
Programme
Jour 1 - Matin
Fondamentaux
Rappels des concepts de la conteneurisation
- Les notions de base et définitions
- Image
- Runtime
- Conteneur
- Registre
- La démocratisation avec Docker
- La CNCF et l’écosystème CaaS
- Environnement de développement
- Supply Chain
- Observabilité et traçabilité
- Sécurité
Kubernetes : les bases
Fondamentaux
- Historique
- Le rôle de l’orchestrateur de conteneurs
- Google et Kubernetes
- Les méthodes de déploiement
- On-Premise vs Cloud
- Les distributions majeures d’entreprises : Rancher, OpenShift, kubeadm…
- Kubernetes sur le poste de développement : minikube, microk8s, kind…
- Les principes de fonctionnement
- Construction d’images
- Ecriture des manifestes YAML
- Déploiement sur Kubernetes
Architecture Kubernetes
- Les composants d’un cluster
- Master
- Nodes
- Manager
- Les composants du master
- API Server
- Scheduler
- ETCD
- Controller managers
- Cloud Controller Manager
- Les composants des nodes
- Kubelet
- Kube-proxy
- Le réseau dans Kubernetes
- Réseau à plat
- Stratégie réseau
- CNI et plug-ins
- Gestion du DNS
- Outils complémentaires
- Les bonnes pratiques d’architecture
- Dimensionnement
- Choix des composants
Travaux pratiques
- Déploiement d’un cluster Kubernetes sur Google Cloud Platform
Administration Kubernetes
- L’utilitaire kubectl
- Structure de la commande
- Commandes de base
- Installation
- Le dashboard Kubernetes
- Autres outils de dashboard : Lens, Portainer ou Prometheus / Grafana
- Naviguer dans l’API Server
- Les bonnes pratiques d’administration
- Sauvegarde
- Monitoring
- Sécurité
Travaux pratiques
- Configuration de kubectl et commandes de base
Jour 1 - Après-midi
Kubernetes : les ressources de base
Les namespaces et les pods
- Définition d’un namespace
- Les cas d’usage et bonnes pratiques
- Gérer les objets Kubernetes
- Création
- Mise à jour
- Suppression
- Définition d’un pod
- Troubleshooting d’un pod
- Port forwarding
- Logs
- Exec
- Gérer la santé des pods
- Les méthodes de vérification
- Les types de sonde
- Définition d’un initContainer
- Les cas d’usage d’un initContainer
Travaux pratiques
- Créer et utiliser des namespaces
- Créer et utiliser des pods
- Observer les processus
- Ajouter des sondes aux pods
- Utiliser un initContainer
Label et annotation
- Définition des labels et des selectors
- Définition des annotations et taints
- Les labels et annotations recommandés
Travaux pratiques
- Application d’un label
- Lister des ressources en fonction d’un label
ReplicaSet et DaemonSet
- Définition d’un ReplicaSet
- Identifier un ReplicaSet dans un pod
- Mettre à l’échelle un ReplicaSet
- Définition d’un DaemontSet
- Les cas d’usage d’un DaemontSet
Travaux pratiques
- Créer un ReplicaSet
- Créer un DaemontSet
Jour 2 - Matin
ConfigMaps et Secrets
- Définitions d’un ConfigMap et Secret
- Les types de Secrets
- Gérer les ConfigMaps et les Secrets
- La limite des Secrets
Travaux pratiques
- Créer et utiliser des ConfigMaps
- Créer et utiliser des Secrets
Services et Ingress
- Définition d’un service
- Les types de services
- ClusterIP
- NodePort
- LoadBalancer
- Définition d’un Ingress et Ingress Controller
- Les Ingress Controllers du marché (ex. Traefik, Istio, Kong)
- Services avec RBAC / API Gateway
Travaux pratiques
- Créer et utiliser des services
- Créer et utiliser des Ingress
- Appliquer du TLS sur un Ingress
Jour 2 - Après-midi
Kubernetes : déployer des applications d’entreprise
Deployment
- Définition d’un deployment
- Les cas d’usage d’un deployment
- Les stratégies de mise à jour applicative
- Rolling Update
- History
- Rollout
Travaux pratiques
- Créer un deployment
- Mettre à jour un deployment
Jour 3 - Matin
Gestion des volumes
- Définition d’un Persistent Volume
- Les types de volumes
- emptyDir
- hostPath
- CSI Driver
- NFS
- Les autres types
- Définition d’un Persistent Volume Claim
- Provisioning statique de volume
- Définition d’une StorageClass
- Provisioning dynamique de volume
- Les bonnes pratiques de gestion des volumes
Jour 3 - Après-midi
Travaux pratiques
- Créer un volume statique et le mapper à un pod
- Créer un volume dynamique et le mapper à un pod
- Déployer une application d’entreprise
- Déployer une application Web basée sur un service Web, une base de données
- Configurer l’application à l’aide de ConfigMaps et Secrets
- Créer des services pour cette application
- Rendre accessible l’application aux utilisateurs
Modalités d’évaluation des acquis
En cours de formation, par des études de cas ou des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Voir aussi
Vous serez peut-être intéressés par les formations suivantes :
- Docker - Fonctionnalités avancées
- Infrastructure as Code (IaC)
- Stack Prometheus Grafana
- Terraform - Initiation
Formation SYS-K8S-100 — Kubernetes - Orchestration de conteneurs. Domaine : Systèmes. Niveau : Initiation. Durée : 3 jours (21 heures). Mots-clés : kubernetes, systèmes, infrastructure, conteneurs, orchestration, devops, initiation. Cylian Formation, Dijon.