Plan du cours
Module 1 : Conception de microservices
• Une bonne frontière de microservice
• Utilisation du design guidé par le domaine (DDD)
• Alternatives aux frontières d'affaires (volatilité, données, technologie, organisation)
• Décomposition du monolithe
• Démembrement prématuré
• Découpage par couche
• Utilisation de modèles de décomposition (Strangler, Exécution parallèle, Toggle de fonctionnalité)
• Préoccupations de décomposition des données (performance, intégrité, transactions)
Module 2 : Optimisation de Docker et du runtime
• Choix de la bonne image de base
• Minimiser le nombre de couches
• Utilisation des builds multi-étapes
• Optimisation des images (tri des arguments multilignes, etc.)
• Utilisation du cache de build
• Épingler les versions d'images
• Ajustement fin de l'allocation des ressources
• Bonnes pratiques pour la sécurité des conteneurs
• Configuration du runtime pour la performance
Module 3 : Kubernetes et stratégies de déploiement
Vue d'ensemble des déploiements Kubernetes
• Création et exécution d'un déploiement initial
• Options de déploiement Kubernetes
Effectuer des déploiements de mise à jour progressive
• Comprendre la mise à jour progressive
• Créer et exécuter une mise à jour progressive
• Annuler un déploiement
Effectuer des déploiements canary
• Comprendre les déploiements canary
• Créer et exécuter un déploiement canary
Effectuer des déploiements blue-green
• Comprendre les déploiements blue-green
• Créer et exécuter un déploiement blue-green
Exécuter des tâches Job et CronJob
• Créer un Job et un CronJob
Effectuer des tâches de surveillance et de dépannage
• Techniques de dépannage avec kubectl
Module 4 : Automatisation et efficacité opérationnelle
Utiliser Python pour automatiser des tâches courantes dans Kubernetes
• Utiliser Python pour effectuer des opérations administratives dans Kubernetes
• Utiliser Python pour définir des objets de configuration
• Utiliser Python pour créer des objets de déploiement
• Surveiller les événements Kubernetes à l'aide de Python
• Mettre à l'échelle un déploiement à l'aide de Python
Comprendre les défis de l'automatisation des déploiements
• Configuration déclarative avec Kubernetes
• Gérer l'intégrité de la configuration
Utiliser l'approche GitOps pour automatiser les déploiements
• Principes de GitOps
• Introduction à Flux
• Installer Flux sur un cluster Kubernetes
Configurer Flux pour des déploiements automatisés
• Utiliser les notifications
• Structure du dépôt source
Gérer les mises à jour d'applications avec l'automatisation des images
• Mettre à jour un déploiement d'application avec Flux
• Analyser les dépôts d'images conteneur pour les tags
• Définir une politique de sélection des dernières images
• Configurer Flux pour effectuer des mises à jour d'images automatiques
Module 5 : Observabilité et clarté des causes profondes
Capacités de journalisation et de traçage dans Kubernetes
• Pourquoi la journalisation et le traçage sont importants
• Accéder aux journaux Kubernetes
• Journaux des pods et conteneurs
• Journaux de la couche de contrôle
• Utilisation des ressources des nœuds et des pods
Collecter et analyser les journaux
• Agrégation de journaux
• Visualisation de journaux
Traçage distribué dans Kubernetes
• Qu'est-ce que le traçage distribué
• Utiliser OpenTelemetry
• Outils de traçage distribué
• Instrumentation d'une application
• Utiliser le traçage pour trouver des problèmes de performance
Surveillance avec Prometheus et Grafana
• Concepts d'observabilité
• Outils de surveillance
• Utiliser 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 crises de cluster et réponse aux incidents
• Comprendre les différents types de pannes dans un environnement de cluster
• Simuler des pannes de nœuds
• Scénario d'éviction de pod et d'épuisement des ressources
• Problèmes de réseau
• Pannes DNS pour la gestion des timeouts des applications
• Simuler une panne du serveur API
• Simuler un trafic élevé pour l'instabilité du système
• Pannes de stockage
• Erreurs de configuration
• Comprendre les procédures de rapport d'incident
Module 7 : IA pour soutenir le dépannage
• Avantages de l'IA générative pour Kubernetes
• Architecture du CLI K8sGPT
• Installer le CLI K8sGPT
• Commandes et utilisation de K8sGPT
• Utiliser les analyseurs K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, etc.)
• Analyser le cluster à l'aide de K8sGPT
• Analyser 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, API, services)
Public cible :
- Ingénieurs DevOps
- Ingénieurs de fiabilité des sites (SREs)
- Développeurs backend / logiciels travaillant avec des microservices
- Ingénieurs cloud et ingénieurs de plateforme
-
Administrateurs système en transition vers les environnements Kubernetes
Nos clients témoignent (1)
exemples de la vie réelle
Maria - Fundacja PTA
Formation - Mastering Make: Advanced Workflow Automation and Optimization
Traduction automatique