Prenez contact avec nous

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

     

 49 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires