- Enseignant-e: Malik Algelly
- Enseignant-e: Ashley Caselli
- Enseignant-e: Hugo Haldi
Technologies de Conteneurisation et d’Orchestration (6 ECTS)Mardi de 12h à 16h - salle 319 (Printemps)
•Objectifs du cours :
•Compréhension pratique des technologies de conteneurisation et d'orchestration à focus sur Docker, Kubernetes, et Helm
•Fonctionnalités de Linux essentielles à ces technologies.
•Les étudiants apprendront le déploiement, la gestion, et le scaling d'applications cloud.
Contenu du cours :
- Fondamentaux de la Conteneurisation : Compréhension des principes de base et de l'importance de la conteneurisation dans le développement moderne.
- Mécanismes de Conteneurisation : Exploration approfondie des namespaces, Cgroups, Capabilities, et Seccomp pour une isolation sécurisée des ressources.
- Gestion des Conteneurs avec runC et containerd : Découverte des outils essentiels pour la création et la gestion des conteneurs.
- Maîtrise de Docker Engine :
- Interface de Ligne de Commande (CLI) : Techniques avancées pour interagir avec Docker.
- Daemon Docker : Comprendre son rôle et son fonctionnement.
- Gestion des Ressources : Optimisation de l'utilisation des ressources par les conteneurs.
- Orchestration avec Docker Compose :
- Composants Clés : Assemblage et configuration de services multi-conteneurs.
- Reverse Proxy : Mise en place d'un reverse proxy pour la gestion des requêtes.
- Certificats Let's Encrypt : Automatisation de la gestion des certificats SSL/TLS.
- Approfondissement de Kubernetes :
- Container Runtime : Sélection et utilisation des environnements d'exécution.
- Composants de Kubernetes : Exploration détaillée de l'architecture et des composants.
- API Kubernetes : Utilisation avancée de l'API pour la gestion des ressources.
Supplément : Exploration de Helm pour la gestion avancée des paquets dans Kubernetes, si assez de temps.
Évaluation :
- Travail Pratique : Renforcement des compétences en conteneurisation et orchestration à travers des exercices pratiques.
- Projet : Réalisation d'un projet de déploiement d'application dans un environnement cloud, permettant de mettre en pratique les connaissances acquises.