Résumé du cours
Au cours de cette formation, vous apprendrez à conteneuriser, déployer et configurer une application dans un cluster multi-nœuds. Vous commencerez avec un script Python simple, définirez les ressources nécessaires à l’application et utiliserez les outils essentiels pour créer, suivre et résoudre les problèmes d’applications évolutives sur Kubernetes. Vous aurez également l'occasion de travailler avec des plugins pour le réseau, la sécurité et le stockage en cloud, vous familiarisant ainsi avec les fonctionnalités clés pour déployer une application dans un environnement de production.
Cette formation vous prépare à l'examen de Certification Kubernetes Application Developer (CKAD). Les thèmes traités sont en parfaite adéquation avec les domaines de connaissances évalués par le programme de certification CKAD de la Cloud Native Computing Foundation, et renforceront considérablement vos chances d'obtenir cette certification.
Moyens d'évaluation :
- Quiz pré-formation de vérification des connaissances (si applicable)
- Évaluations formatives pendant la formation, à travers les travaux pratiques réalisés sur les labs à l’issue de chaque module, QCM, mises en situation…
- Complétion par chaque participant d’un questionnaire et/ou questionnaire de positionnement en amont et à l’issue de la formation pour validation de l’acquisition des compétences
A qui s'adresse cette formation
- Consultants
- Développeurs
- Architectes
- DevOps
- Chefs de projet
Pré-requis
- Compétences de base en ligne de commande Linux et en édition de fichiers
- Être familiarisé avec un langage de programmation (Python)
- Connaissances des architectures d’applications cloud native
Objectifs
À l’issue de la formation, vous devriez être en mesure de :
- Conteneuriser et déployer un nouveau script Python
- Configurer le déploiement avec ConfigMaps, Secrets et SecurityContexts
- Comprendre la conception de pods multi-conteneurs
- Configurer les sondes pour la santé des pods
- Mettre à jour et annuler une application
- Implémenter des services et des stratégies de réseau
- Utiliser PersistentVolumeClaims (PVC) pour la persistance d’état
Contenu
Introduction
- Objectifs.
- Qui êtes-vous ?
- Fondation Linux.
- Formation Linux Foundation.
- Programmes de certification et badges numériques.
- Préparation de votre système.
Architecture Kubernetes
- Qu'est-ce que Kubernetes ?
- Composants de Kubernetes.
- Défis. L'héritage Borg.
- Architecture Kubernetes.
- Terminologie.
- Nœud maître. Nœuds Minion (worker).
- Pods. Services. Contrôleurs.
- IP unique par pod.
- Configuration du réseau.
- Fichier de configuration réseau Container Network Interface (CNI).
- Communication entre pods.
- Cloud Native Computing Foundation.
- Recommandations de ressources.
Travaux pratiques
- Mise en application.
Build
- Options de conteneur.
- Conteneurisation d'une application.
- Création du fichier Docker.
- Hébergement d’un référentiel local.
- Création d'un déploiement.
- Exécution de commandes dans un conteneur.
- Pod multi-conteneurs.
- ReadinessProbe. LivenessProbe.
Conception
- Applications traditionnelles : considérations.
- Ressources découplées.
- Fugacité.
- Cadre flexible.
- Gestion de l'utilisation des ressources.
- Pods multi-conteneurs.
- Conteneur Sidecar.
- Conteneur adaptateur.
- Ambassador.
- Points à considérer.
- Jobs.
Configuration de déploiement
- Vue d'ensemble des volumes.
- Présentation des volumes.
- Spec de volumes.
- Types de volumes.
- Exemple de volumes partagés.
- Volumes persistants et réclamations.
- PersistentVolume.
- PersistantVolumeClaim (PVC).
- Provisionnement dynamique.
- Secrets.
- Utilisation de secrets via des variables d’environnement.
- Secrets de montage sous forme de volumes.
- Données portables avec ConfigMaps.
- Utilisation de ConfigMaps.
- Statut de configuration de déploiement.
- Scaling et mises à jour progressives.
- Rollbacks de déploiement.
Travaux pratiques
- Mise en application.
Sécurité
- Vue d’ensemble de la sécurité.
- Accéder à l'interface de programmation des applications (API).
- Authentification.
- Autorisation.
- ABAC. RBAC.
- Vue d'ensemble du contrôle d'accès basé sur les rôles (RBAC).
- Contrôleur d'admission.
- Contextes de sécurité.
- Politiques de sécurité du pod.
- Politiques de sécurité réseau.
- Exemple de politique de sécurité réseau.
- Exemple de politique par défaut.
Travaux pratiques
- Mise en application.
Exposé des applications
- Types de service.
- Schéma de services.
- Modèle de mise à jour de service.
- Accession à une application avec un service.
- Service sans sélecteur.
- ClusterIP.
- NodePort.
- LoadBalancer.
- Nom externe.
- Ressource d’entrée. Contrôleur d’entrée.
Dépannage
- Vue d’ensemble du dépannage.
- Étapes de dépannage de base.
- Changement en cours (constant).
- Procédure de dépannage de base : pods.
- Procédure de dépannage de base : nœud et sécurité.
- Procédure de dépannage de base : agents.
- Surveillance.
- Outils de journalisation.
- Applications de surveillance.
- Journaux système et agent.
- Tests de conformité.
Travaux pratiques
- Mise en application.
Moyens Pédagogiques :