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.