Prenez contact avec nous

Plan du cours

Jour 1 – Conteneurs et gestion des images

Introduction aux plateformes de conteneurs

  • Déploiement d'applications traditionnelles par rapport au déploiement basé sur les conteneurs
  • Conteneurs et machines virtuelles
  • Moteurs d'exécution (runtimes) et moteurs de conteneurs
  • Le rôle de Docker, Kubernetes et OpenShift
  • Architectures courantes des plateformes de conteneurs
  • Flux de travail de développement, test et production

Travail avec les conteneurs

  • Exécution et gestion des conteneurs
  • Cycle de vie du conteneur
  • Démarrage, arrêt et suppression des conteneurs
  • Exécution de commandes à l'intérieur des conteneurs
  • Variables d'environnement
  • Mappage des ports
  • Journalisation des conteneurs (logs)
  • Utilisation des ressources et inspection des processus

Construction d'images de conteneurs

  • Structure et couches des images
  • Création de Dockerfiles et Containerfiles
  • Sélection des images de base
  • Ajout des dépendances de l'application
  • Configuration des points d'entrée (entrypoints) et des commandes
  • Mise en cache des images
  • Réduction de la taille des images
  • Construction d'images reproductibles

Registres de conteneurs

  • Registres publics et privés
  • Étiquetage et versionnement des images
  • Pousser et tirer des images (push and pull)
  • Authentification des images
  • Mise en conservation et nettoyage des images
  • Considérations de base sur la sécurité des images

Réseau et stockage des conteneurs

  • Concepts réseau des conteneurs
  • Réseau en pont (bridge)
  • Exposition des ports
  • Communication entre conteneurs
  • Montages liés et volumes (bind mounts and volumes)
  • Données persistantes du conteneur
  • Considérations pour les sauvegardes

Exercices pratiques

  • Exécuter et inspecter des conteneurs
  • Construire une image d'application
  • Configurer les ports et les variables d'environnement
  • Publier une image vers un registre
  • Stocker des données persistantes en dehors d'un conteneur

Jour 2 – Architecture de Kubernetes et charges de travail

Fondamentaux de Kubernetes

  • Objectif de l'orchestration de conteneurs
  • Architecture de Kubernetes
  • Composants du plan de contrôle (control plane)
  • Noeuds workers
  • Serveur API
  • Ordonnanceur (Scheduler)
  • Contrôleurs
  • État du cluster et état désiré
  • Communication avec le cluster via kubectl

Ressources de Kubernetes

  • Pods
  • ReplicaSets
  • Déploiements (Deployments)
  • Espaces de noms (Namespaces)
  • Étiquettes et annotations
  • Sélecteurs
  • Définitions de ressources déclaratives
  • Manifestes YAML

Déploiement d'applications

  • Création et gestion des déploiements
  • Mise à l'échelle des charges de travail
  • Mise à jour des images de conteneurs
  • Mises à jour progressives (rolling updates)
  • Rétroactions (rollbacks)
  • Historique des déploiements
  • Redémarrage des charges de travail
  • Gestion des répliques d'application

Configuration des applications

  • ConfigMaps
  • Secrets (données sensibles)
  • Variables d'environnement
  • Fichiers de configuration
  • Séparation du code applicatif et de la configuration
  • Gestion des paramètres spécifiques à l'environnement

Gestion des ressources

  • Demandes CPU et mémoire
  • Limites CPU et mémoire
  • Quotas de ressources
  • Portées de limites (Limit ranges)
  • Implications sur l'ordonnancement
  • Diagnostic des échecs liés aux ressources

Exercices pratiques

  • Déployer une application conteneurisée
  • Créer et mettre à jour les manifestes Kubernetes
  • Mettre à l'échelle une application
  • Réaliser une mise à jour progressive et une rétroaction
  • Configurer l'application en utilisant ConfigMaps et Secrets
  • Appliquer des demandes et limites de ressources

Jour 3 – Réseau, stockage et sécurité de Kubernetes

Réseau de Kubernetes

  • Modèle réseau du cluster
  • Communication pod à pod
  • Découverte de services
  • DNS à l'intérieur du cluster
  • Services ClusterIP
  • Services NodePort
  • Services LoadBalancer
  • Concepts d'Ingress
  • Motifs d'exposition des applications

Policies réseau

  • Contrôle du trafic entre charges de travail
  • Règles ingress et egress
  • Contrôle du trafic par espace de noms
  • Tests de connectivité réseau
  • Dépannage de la communication des services

Stockage persistant

  • Stockage éphémère et persistant
  • Volumes
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Provisionnement dynamique
  • Modes d'accès
  • Politiques de conservation (reclaim policies)
  • Stockage pour les applications avec état

Contrôle d'accès de Kubernetes

  • Concepts d'authentification et d'autorisation
  • Contrôle d'accès basé sur les rôles (RBAC)
  • Rôles et ClusterRoles
  • RoleBindings et ClusterRoleBindings
  • Comptes de service
  • Accès au moindre privilège
  • Inspection des permissions effectives

Sécurité des charges de travail

  • Contextes de sécurité (Security contexts)
  • Exécution des conteneurs sans privilèges root
  • Capacités Linux
  • Systèmes de fichiers en lecture seule
  • Gestion des secrets
  • Provenance des images
  • Risques de configuration courants

Exercices pratiques

  • Exposer une application via les services Kubernetes
  • Configurer l'ingress
  • Limiter le trafic à l'aide d'une politique réseau
  • Fournir un stockage persistant
  • Configurer les permissions RBAC
  • Exécuter une charge de travail avec un contexte de sécurité approprié

Jour 4 – Travail avec les environnements OpenShift

Introduction à OpenShift

  • OpenShift en tant que plateforme d'applications basée sur Kubernetes
  • Ressources Kubernetes dans un environnement OpenShift
  • Architecture du cluster OpenShift
  • Projets et espaces de noms
  • Utilisateurs de la plateforme et comptes de service
  • Utilisation de la console web
  • Utilisation de l'interface CLI OpenShift

Gestion des projets et des accès

  • Création et gestion des projets
  • Attribution des permissions utilisateur
  • Rôles au niveau du projet
  • Accès administratif
  • Quotas de ressources
  • Portées de limites (Limit ranges)
  • Comptes de service
  • Revue des ressources du projet

Déploiement d'applications

  • Déploiement d'images de conteneurs
  • Création de charges de travail applicatives
  • Gestion des déploiements
  • Mise à l'échelle des applications
  • Mise à jour des versions d'application
  • Rétroactions (rollbacks)
  • Gestion de la configuration applicative
  • Travail avec les secrets

Exposition des applications

  • Services dans OpenShift
  • Routes
  • Concepts TLS
  • Accès interne et externe aux applications
  • Noms d'hôte et certificats
  • Dépannage des problèmes de routes et de services

Stockage dans OpenShift

  • Persistent Volume Claims (PVC)
  • StorageClasses
  • Attacher le stockage aux charges de travail
  • Charges de travail avec état
  • Autorisations d'accès au stockage
  • Dépannage du montage des volumes

Ordonnancement et gestion des noeuds

  • Étiquettes et sélecteurs
  • Sélecteurs de noeud
  • Tolérances et taints
  • Concepts d'affinité et anti-affinité
  • Placement des charges de travail
  • Mise en corail (cordoning) et vidage des noeuds (draining)
  • Considérations pour la maintenance des noeuds

Exercices pratiques

  • Accéder à un environnement OpenShift
  • Créer et configurer un projet
  • Déployer et exposer une application
  • Configurer l'accès utilisateur et compte de service
  • Attacher un stockage persistant
  • Mettre à l'échelle et mettre à jour une charge de travail en cours d'exécution

Jour 5 – Exploitation, surveillance et dépannage

Surveillance de la plateforme

  • Surveillance de la santé du cluster et des applications
  • Métriques des ressources
  • Santé des noeuds
  • Statut des charges de travail
  • Capacité et utilisation des ressources
  • Identification des goulots d'étranglement de performance

Journalisation et événements

  • Journaux (logs) des conteneurs
  • Journaux (logs) des pods
  • Anciens journaux (logs) des conteneurs
  • Événements Kubernetes
  • Messages applicatifs et plateformes
  • Filtrage et interprétation des données opérationnelles

Vérifications de santé (Health checks)

  • Probes de démarrage (Startup probes)
  • Probes de préparation (Readiness probes)
  • Probes de vivacité (Liveness probes)
  • Conception de points de terminaison de santé utiles
  • Dépannage des échecs des probes
  • Prévention des redémarrages inutiles d'applications

Dépannage des charges de travail

  • Pods en attente (Pending)
  • Échecs de tirage d'images
  • Boucles d'arrêt (Crash loops)
  • Variables d'environnement mal configurées
  • Montages échoués
  • Ressources insuffisantes
  • Erreurs de permission
  • Problèmes de connectivité des services et des routes
  • Problèmes DNS
  • Échecs de démarrage d'application

Sécurité opérationnelle

  • Revue des permissions
  • Utilisation des comptes de service
  • Gestion sécurisée des identifiants
  • Pratiques de sécurité des images
  • Isolation réseau
  • Audit d'accès à la plateforme
  • Application du principe du moindre privilège

Maintenance et gestion du cycle de vie

  • Vérifications routine de la plateforme
  • Maintenance des noeuds
  • Considérations pour les sauvegardes d'applications
  • Sauvegarde de la configuration
  • Planification des mises à jour
  • Gestion des changements
  • Tests des mises à jour
  • Planification des rétroactions (rollbacks)
  • Concepts de reprise après sinistre

Atelier pratique final

Les participants réalisent un scénario opérationnel complet :

  • Construire et étiqueter une image de conteneur.
  • Publier l'image vers un registre.
  • Déployer l'application sur Kubernetes ou OpenShift.
  • Configurer les paramètres et identifiants de l'application.
  • Exposer l'application.
  • Attacher un stockage persistant.
  • Configurer les permissions d'accès.
  • Ajouter des vérifications de santé.
  • Mettre à l'échelle et mettre à jour l'application.
  • Diagnostiquer et résoudre un problème introduit.

Format du cours permettant d'évaluer les participants

  • Cours interactifs et discussions techniques.
  • Démonstrations par l'instructeur.
  • Nombreux exercices pratiques.
  • Ateliers d'administration et de dépannage basés sur des scénarios.
  • Travail pratique dans des environnements conteneurs, Kubernetes et OpenShift.

Options de personnalisation du cours

  • Le cours peut être adapté à l'infrastructure existante des participants, au fournisseur cloud et aux outils de conteneurisation.
  • L'équilibre entre les sujets Docker, Kubernetes et OpenShift peut être ajusté en fonction de l'expérience de l'équipe.
  • Les exercices pratiques peuvent être personnalisés selon les applications, les processus de déploiement et les exigences opérationnelles de l'organisation.

Avis relatif aux marques commerciales

OpenShift est une marque commerciale de Red Hat, Inc. Cette formation développée indépendamment n'est pas affiliée à Red Hat, ni approuvée ou autorisée par celle-ci.

Pré requis

Les participants doivent posséder :

  • De l'expérience avec la ligne de commande Linux.
  • Des connaissances de base en administration système ou en DevOps.
  • Une compréhension générale des concepts réseau.
  • Une familiarité avec les processus de déploiement logiciel.

Une expérience précédente avec Docker, Kubernetes ou OpenShift est utile mais non obligatoire.

 35 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (7)

Cours à venir

Catégories Similaires