Aller au contenu

Haute disponibilité avec Kubernetes

Public cible: DSI, Ingénieurs et développeurs, Responsables réseaux

Objectifs:

  • Comprendre les principes de la haute disponibilité avec Kubernetes
  • Apprendre les meilleures pratiques pour concevoir, mettre en œuvre et maintenir des solutions haute disponibilité

Contenu proposé:

  • Introduction aux principes de la haute disponibilité, notamment la redondance, la répartition de charge, la continuité de service et la tolérance aux pannes
  • Les architectures haute disponibilité, notamment les architectures distribuées, les architectures en cluster, les architectures actif-actif et actif-passif, ainsi que les avantages et les inconvénients de chacune
  • Présentation de Kubernetes et de ses fonctionnalités pour assurer la haute disponibilité, notamment la mise en place de clusters, la répartition de charge, la surveillance et l’auto-guérison
  • Les meilleures pratiques pour la conception, la mise en œuvre et la maintenance de solutions haute disponibilité avec Kubernetes, notamment la planification des capacités, la gestion des mises à jour, la surveillance des performances et la gestion des incidents
  • Les outils et les techniques pour mesurer la disponibilité des applications et des infrastructures, notamment les indicateurs clés de performance (KPI), les tests de charge et les tests de résilience
  • Les réglementations et les normes applicables à la haute disponibilité, notamment en matière de sécurité, de confidentialité et de protection des données

Il sera inclus des études de cas pour illustrer les défis et les solutions liés à la haute disponibilité avec Kubernetes, ainsi que des travaux pratiques pour permettre aux participants de mettre en pratique les concepts et les techniques présentés. La formation pourrait également se conclure par une évaluation de la compréhension et la maîtrise des participants sur la haute disponibilité avec Kubernetes.

Déroulé du programme:

Jour 1 : Introduction à Kubernetes

  • Introduction à l’orchestration de conteneurs
  • Historique de Kubernetes
  • Architecture de Kubernetes
  • Installation de Kubernetes (Cluster local avec minikube ou kubeadm ou cloud)
  • Gestion des pods et déploiements

Travaux pratiques :

  • Installation de Kubernetes avec minikube ou kind
  • Création d’un premier déploiement de conteneurs
  • Exploration et manipulation des pods, services et réplicas
  • Exécution de commandes à l’intérieur d’un pod
  • Mise à jour d’une application déployée

Jour 2 : Fonctionnalités avancées de Kubernetes

  • Services et découvertes de services
  • Gestion des volumes persistants
  • Configuration et gestion des secrets
  • Déploiements et mises à jour des applications
  • Gestion des états avec les StatefulSets

Travaux pratiques :

  • Configuration et gestion des volumes persistants pour les applications
  • Création de secrets et utilisation dans les déploiements
  • Déploiement d’une application avec un service de découverte de services
  • Utilisation des StatefulSets pour gérer les applications d’état
  • Test de mise à l’échelle automatique des déploiements

Jour 3 : Sécurité et surveillance dans Kubernetes

  • Gestion des utilisateurs et des rôles (RBAC)
  • Sécurisation des communications avec TLS/SSL
  • Stratégies de sécurité des conteneurs
  • Surveillance des ressources et des journaux
  • Analyse des performances et du dépannage

Travaux pratiques :

  • Configuration des rôles, des rôles liés aux groupes et des règles de contrôle d’accès
  • Activation de la communication sécurisée entre les composants de Kubernetes
  • Déploiement d’un outil de surveillance et collecte de métriques
  • Configuration de l’analyse des journaux pour les pods
  • Résolution des problèmes de performances et de dépannage

Jour 4 : Mise à l’échelle et gestion des ressources

  • Équilibrage de charge (Load Balancing)
  • Gestion des ressources (limites et demandes)
  • Mise à l’échelle automatique des déploiements
  • Utilisation des opérations en arrière-plan (Jobs)
  • Utilisation des tâches récurrentes (CronJobs)

Travaux pratiques :

  • Configuration d’un équilibrage de charge (Load Balancer) pour les services
  • Définition de limites et de demandes de ressources pour les conteneurs
  • Mise à l’échelle automatique des déploiements en fonction de la charge
  • Exécution d’opérations en arrière-plan (Jobs) pour les tâches ponctuelles
  • Planification des tâches récurrentes (CronJobs) dans Kubernetes

Jour 5 : Déploiement avancé et outils supplémentaires

  • Stratégies de déploiement avancées (Rolling Updates, Blue-Green Deployments)
  • Utilisation d’outils supplémentaires (Helm, Kubernetes Dashboard, Prometheus)
  • Intégration continue et déploiement continu (CI/CD) avec Kubernetes
  • Bonnes pratiques de développement et de déploiement
  • Cas d’utilisation et exemples réels

Travaux pratiques :

  • Utilisation de l’outil Helm pour gérer les packages de déploiement
  • Installation et utilisation du tableau de bord Kubernetes pour la surveillance
  • Configuration de Prometheus pour la collecte et la visualisation des métriques
  • Mise en place d’une intégration continue et d’un déploiement continu (CI/CD) avec Kubernetes
  • Réalisation d’un scénario pratique complet en utilisant les compétences acquises
Nombre de participants limités : 25
Lieu de la formation : Hôtel Novotel Dakar
Date : __/__/2023
Durée : 5 jours
Format : Présentiel
Intervenant : Mohamadou MBENGUE Expert en sécurité numérique et Consultant-Formateur : Java/Big Data/DevOps/Cloud