Prenez contact avec nous

Plan du cours

Module 1 : Conception de microservices

• Une bonne limite de microservice
• Utilisation du Design Dirigé par le Domaine (DDD)
• Alternatives aux limites du domaine métier (volatilité, données, technologie, organisation)
• Fractionnement du monolithe
• Décomposition prématurée
• Décomposition par couche
• Utilisation des modèles de décomposition (Strangler, Exécution parallèle, Basculement de fonctionnalité)
• Aspects de la décomposition des données (performance, intégrité, transactions)

Module 2 : Optimisation de Docker et du runtime

• Choix de la bonne image de base
• Minimisation du nombre de couches
• Utilisation de constructions multi-étapes
• Optimisation des images (tri des arguments multilignes, etc.)
• Exploitation du cache de construction
• Épinglage des versions d'image
• Ajustement fin de l'allocation des ressources
• Pratiques de sécurité des conteneurs
• Configuration du runtime pour la performance

Module 3 : Kubernetes & Stratégies de release

Vue d'ensemble des déploiements Kubernetes
• Création et exécution d'un déploiement initial
• Options de déploiement Kubernetes

Réalisation des déploiements par mises à jour progressives (Rolling Update)
• Compréhension des mises à jour progressives
• Création et exécution d'une mise à jour progressive
• Annulation du déploiement

Réalisation des déploiements canari
• Compréhension des déploiements canari
• Création et exécution d'un déploiement canari

Réalisation des déploiements bleu-vert
• Compréhension des 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 d'un 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 de GitOps
• Introduction à Flux
• Installation de Flux sur une grappe Kubernetes

Configuration de Flux pour les déploiements automatisés
• Utilisation des notifications
• Structure du référentiel source

Gestion des mises à jour des applications avec l'automatisation des images
• Mise à jour d'un déploiement d'application avec Flux
• Analyse des référentiels d'images de conteneurs pour les balises
• Définition d'une politique pour la sélection de la dernière image
• Configuration de Flux pour effectuer des mises à jour d'images automatiques

Module 5 : Observabilité & Clarification des causes profondes

Capacités de journalisation et de traçage de Kubernetes
• Pourquoi la journalisation et le traçage sont importants
• Accès aux journaux de 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 grappe & Réponse aux incidents

• Compréhension des différents types de pannes dans un environnement de grappe
• Simulation de pannes de nœuds
• Scénario d'éviction de pod et d'épuisement des ressources
• Problèmes réseau
• Pannes DNS pour la gestion des délais d'attente d'application
• Simulation d'une panne 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 d'incidents

Module 7 : 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 de la grappe à l'aide de K8sGPT
• Analyse des problèmes en temps réel à l'aide de K8sGPT
• Opérateur intra-grappe 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 (p. ex. API, 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 de plateforme
  • Administrateurs système évoluant vers des environnements Kubernetes

     

 49 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (2)

Cours à venir

Catégories Similaires