Plan du cours
Module 1 : Conception de Microservices
• Une bonne frontière de Microservice
• Utilisation de la Conception Orientée Domaine (DDD)
• Alternatives aux frontières du domaine métier (Volatilité, Données, Technologie, Organisation)
• Décomposition du Monolithe
• Décomposition prématurée
• Décomposition par couche
• Utilisation des motifs de décomposition (Strangler, Exécution parallèle, Feature Toggle)
• Considérations de décomposition des données (Performance, Intégrité, Transactions)
Module 2 : Optimisation de Docker et de l'environnement d'exécution
• Choisir la bonne image de base
• Minimiser le nombre de couches
• Utiliser les builds multi-étapes
• Optimisation des images (tri des arguments multilignes, etc.)
• Tirer parti du cache de build
• Verrouiller les versions d'image
• Affiner l'allocation des ressources
• Bonnes pratiques de sécurité des conteneurs
• Configuration d'exécution pour la performance
Module 3 : Kubernetes & Stratégies de Release
Aperçu des Déploiements Kubernetes
• Création et exécution d'un déploiement initial
• Options de déploiement Kubernetes
Réalisation des Déploiements en Mises à Jour Progressives (Rolling Updates)
• Comprendre les Rolling Updates
• Création et exécution d'un Rolling Update
• Annulation du déploiement (Rolling Back)
Réalisation des Déploiements Canaris (Canary Deployments)
• Comprendre les déploiements Canaris
• Création et exécution d'un déploiement Canari
Réalisation des Déploiements Bleu-Vert (Blue-Green Deployments)
• Comprendre les déploiements Bleu-Vert
• Création et exécution d'un déploiement Bleu-Vert
Exécution des Jobs et CronJobs
• Création d'un Job et CronJob
Réalisation des Tâches de Surveillance et de Dépannage
• Techniques de dépannage avec kubectl
Module 4 : Automatisation & Efficacité Opérationnelle
Utilisation de Python pour Automatiser les Tâches Courantes dans Kubernetes
• Utilisation de Python pour effectuer des opérations administratives dans Kubernetes
• Utilisation de Python pour définir des objets de configuration
• Utilisation de Python pour créer des objets de déploiement
• Surveillance des événements Kubernetes à l'aide de Python
• Mise à l'échelle d'un déploiement à l'aide de Python
Compréhension des Défis de l'Automatisation des Déploiements
• Configuration déclarative avec Kubernetes
• Gestion de l'intégrité de la configuration
Utilisation de l'Approche GitOps pour Automatiser les Déploiements
• Principes GitOps
• Introduction à Flux
• Installation de Flux sur un cluster Kubernetes
Configuration de Flux pour les Déploiements Automatisés
• Utilisation des notifications
• Structure du dépôt source
Gestion des Mises à Jour des Applications avec l'Automatisation des Images
• Mise à jour d'un déploiement d'application avec Flux
• Analyse des dépôts d'images de conteneur pour les balises
• Définition d'une politique pour la sélection des dernières images
• Configuration de Flux pour effectuer des mises à jour automatiques d'images
Module 5 : Observabilité & Compréhension des Causes Racines
Capacités de Journalisation et de Traçage de Kubernetes
• Pourquoi la journalisation et le traçage sont importants
• Accès aux journaux Kubernetes
• Journaux des Pods et des Conteneurs
• Journaux du Plan de Contrôle
• Utilisation des ressources des Nœuds et des Pods
Collecte et Analyse des Journaux
• Agrégation des journaux
• Visualisation des journaux
Traçage Distribué dans Kubernetes
• Qu'est-ce que le traçage distribué
• Utilisation d'OpenTelemetry
• Outils de traçage distribué
• Instrumentation d'une application
• Utilisation du traçage pour trouver des problèmes de performance
Surveillance avec Prometheus et Grafana
• Concepts d'observabilité
• Outils de surveillance
• Utilisation de l'instrumentation Prometheus
Cas d'Utilisation Avancés pour la Journalisation
• Traitement des journaux
• Filtrage et enrichissement des journaux
• Event Sourcing
Module 6 : Simulation de Crise de Cluster & Réponse aux Incidents
• Compréhension des différents types de pannes dans un environnement de cluster
• Simulation de Pannes de Nœuds
• Scénario d'Éviction de Pod & Épuisement des Ressources
• Problèmes Réseau
• Pannes DNS pour la gestion des délais d'attente des applications
• Simulation d'une Indisponibilité du Serveur API
• Simulation d'un Trafic Élevé pour la Stabilité du Système
• Pannes de Stockage
• Erreurs de Configuration
• Compréhension des procédures de rapport des incidents
Module 7 : L'IA pour soutenir le Dépannage
• Avantages de l'IA Générative pour Kubernetes
• Architecture de la CLI K8sGPT
• Installation de la CLI K8sGPT
• Commandes et Utilisation de K8sGPT
• Utilisation des Analyseurs K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyse du Cluster à l'aide de K8sGPT
• Analyse des Problèmes en Temps Réel à l'aide de K8sGPT
• Opérateur In-Cluster pour K8sGPT
Pré requis
- Connaissances de base de la ligne de commande Linux
- Expérience en développement d'applications ou en administration système
- Familiarité avec les conteneurs (concepts Docker)
- Compréhension de base des concepts Kubernetes (pods, déploiements, services)
- Compréhension générale de l'architecture logicielle (par exemple, APIs, services)
Public cible :
- Ingénieurs DevOps
- Ingénieurs de Fiabilité du Site (SRE)
- Développeurs Backend / Logiciels travaillant avec des microservices
- Ingénieurs Cloud et Ingénieurs Plateforme
-
Administrateurs Systèmes se dirigeant vers des environnements Kubernetes
Nos clients témoignent (2)
Craig était très impliqué dans la formation, toujours en s'assurant que nous prêtions attention, en adaptant les exemples à nos activités quotidiennes et en fournissant une réponse chaque fois qu'on lui posait une question, même si l'information n'était pas incluse dans la présentation.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Formation - DevOps Foundation®
Traduction automatique
Niveau élevé d’engagement et de connaissances du formateur
Jacek - Softsystem
Formation - DevOps Engineering Foundation (DOEF)®
Traduction automatique