Kubernetes pour développeurs
Objectifs de la formation
- Publier à chaud les modifications de code
- Maîtriser les patterns d’architecture Kubernetes
- Packager ses applications Kubernetes
- Construire une chaîne de CI/CD pensée pour kubernetes
- Gérer les autorisations RBAC de l’application
- Bien gérer ses données
- Assurer un suivi en production
- Concevoir des applications résilientes et scalables
Programme de la formation
Introduction
- Rappel des concepts fondamentaux de Kubernetes : Cluster, Nodes, Pods, Deployments, Services
- Configuration de l'environnement de développement
- Outil en ligne de commande kubectl
- Helm
- Rechargement de code à chaud
- Skaffold : Détection automatique des changements et rechargement
- Tilt : Outil d’orchestration facilitant le développement
Détails d’un Pod
- Structure d’un Pod
- Containers
- Volumes (persistants et éphémères)
- Réseau (IP, DNS, ports)
- Variables d’environnement et ConfigMaps
- Exploration d’un Pod avec kubectl
Stratégies de déploiement
- Rolling Update : déploiement progressif
- Déploiement bleu/vert
- Stratégie de déploiement de contrôle de validité
- Stratégie de test A/B
- Paramétrage d’un Deployment pour chaque stratégie
Automatiser le déploiement avec Helm
- Présentation de Helm et des charts
- Création et structure d’un chart Helm
- Gestion des valeurs (values.yaml) et des releases (helm upgrade)
- Déploiement d’une application complète avec Helm
GitOps multi-environnements et pipeline CI/CD
- Principe du GitOps
- Comment gérer des clusters multiples avec GitLab
- Créer des groupes hiérarchiques GitLab
- Placer KubeConfig dans les variables d’environnement au niveau du groupe
- Déployez votre application à l’aide de GitLab CI
- Contrôle d’accès
- Encapsuler le code du pipeline CD
Gestion des identités et secrets
- Comprendre ConfigMaps
- Créer et consommer des Secrets pour stocker et accéder aux données confidentielles
- Protéger ses secrets dans kubernetes avec Kubeseal
- Contrôle d’accès RBAC
- Rôles et RoleBindings : granularité des accès.
- ClusterRoles et ClusterRoleBindings.
Gestion des données : Stateless vs Stateful
- Différences entre applications stateless et stateful.
- StatefulSets vs Deployments.
- Stratégies de gestion des bases de données sous Kubernetes.
Volumes et systèmes de fichiers
- Persistent Volumes (PVs) et Persistent Volume Claims (PVCs).
- Classes de stockage et dynamic provisioning.
Monitoring, Logs et Résilience
- Monitoring et health checks applicatif
- Readiness, Liveness et Startup probes.
- Intégration avec Prometheus et Grafana.
- Logs et tracing applicatif
- Utiliser les logs de conteneurs
- Centralisation des logs avec Fluentd, Elasticsearch et Kibana (EFK)
- Distributed tracing avec OpenTelemetry
- Stratégie d’auto-healing (mécanismes d’auto-réparation dans Kubernetes)
- RestartPolicy
- ReplicaSets
- Horizontal Pod Autoscaler.
- Concept du chaos engineering
- Simulation de pannes et analyse de résilience.
Please login to get access to the quiz
Back to Kubernetes