Kubernetes avec MicroK8s
Résumé
Déployer et gérer des applications conteneurisées sous Kubernetes (K8s).
Objectif
A l’issue de la formation, le stagiaire saura mettre en œuvre :
- Installation d’un cluster MicroK8s sur un ou plusieurs noeuds
- Utilisation des outils d’administration (kubectl, Portainer, K9s…)
- Déploiement de conteneurs avec ou sans persistance des données
- Mise en place d’un stockage distribué redondant avec Longhorn
- Utilisation de packages Helm
Public concerné
Cette formation s’adresse aux développeurs professionnels, aux administrateurs système ou aux étudiants en informatique.
Le stagiaire doit avoir acquis les fondamentaux des réseaux IP (adressage, ports), du système Unix (système de fichiers, terminal Bash, commandes usuelles) et de la conteneurisation (Docker).
Matériel utilisé
Une machine à architecture x86 (Intel/AMD, 4 cœurs, 16 Go de RAM), sur Microsoft Windows 10/11 avec WSL2 (Windows Subsystem for Linux), une distribution Ubuntu, Docker Desktop et Visual Studio Code.
Contenu
Partie 1 : Introduction à Kubernetes
Généralités :
- Conteneurisation
- Limites de Docker
- Orchestration de conteneurs sur un cluster
- Distributions Kubernetes
Installation d’un cluster microK8S :
- Cluster, noeuds, haute disponibilité
- La commande kubectl
- Pods, répliques et services
- Déploiement de Nginx
- Volumes hostpath
- Déploiement de Portainer
Partie 2 : Configuration de Cluster Kubernetes
Administration :
- K9s, simple mais efficace
- Descripteurs YAML
Pods :
- Plannification par le scheduler
- Cycle de vie
- Init container
- Labels, namespaces
Contrôleurs :
- Déploiement sans persitance (Deployment)
- Déploiement avec persistence (StatefulSet)
- Tâches plannifiées (CronJob)
Services :
- Mise en réseau
- Redirection de ports avec ClusterIP, NodeIP, LoadBalancer
- Serveur de noms CoreDNS
- Routage de services web avec Ingress
Stockage :
- Droits d’accès sur un volume, partage entre plusieurs conteneurs
- Définition d’un Persistent Volume Claim
- Stockage distribué, redondance de données, tolérance aux pannes
- Longhorn : principe et déploiement
- Définition d’une Storage Class
Configuration et secrets :
- Paramètres de ligne de commande des conteneurs
- Variables d’environnements
- ConfigMaps
- Secrets
Introduction à Helm :
- Limites du déploiement avec kubectl
- Helm, gestionnaire de packages pour Kubernetes
- Fichiers de configuration (Helm Charts)
- Structure d’un chart
- Déploiement de Postgres avec Helm
Modalités
Mode d’intervention
En sous-traitance auprès des instituts de formation certifiés Qualopi, en inter- ou intra-entreprise.
Le programme présenté est adaptable à un besoin spécifique après audit.
Travaux pratiques
L’ensemble de la formation s’articule à parts égales entre exposés techniques, démonstrations en direct et travaux pratiques.
Le stagiaire reçoit durant la formation les supports d’exposé ainsi que le code source des démonstrations et solutions de travaux pratiques.
Moyens techniques
La formation est proposée en vidéo-conférence. Le stagiaire doit s’équiper du matériel et du logiciel nécessaire.