Ce cours a pour but d'apprendre aux étudiants à déployer une application pré packagé sur un cluster Kubernetes.
Cela permet à l'étudiant de découvrir comment la majorité des applications modernes sont maintenant déployés sur kubernetes.
L'étudiant déploie une application déjà packagé de A à Z, en respectant les bonnes pratiques et apprend les commandes permettant de diagnostiquer ce qui ne marche pas dans cette application
Plan du cours
Alternance entre théorie et pratique.
Rappel de la notion de containérisation
Découverte en théorie d'un concept de Kubernetes
Mise en pratique de ce concept
Répétions des deux étapes précédentes concept par concept
Description des TP
Tous les TPs utilisent une application réalisé et packagé en image docker. TP0 :
Rappel de l'utilisation de Docker + installation de Minikube sur les machines de l'ISIMA ou de l'étudiant (si PC personnel)
TP1 :
Déploiement d'une base de donnée Mongodb via deployment
TP2 :
Déploiement d'une application Frontend via deployment
TP3 :
Exposition de l'application Frontend pour la rendre accessible via navigateur
TP4 :
Déploiement de l'application backend pour faire le lien entre le Frontend et la base de donnée via deployment + exposition de celle-ci
TP5 :
Amélioration de la configuration des applications frontend, backend et base de donnée (utilisation de secret et de configMap)
TP6 :
Gestion du stockage persistent sur le déploiement de la base de donnée.
TP7 :
Mise en place du multi environnement (plusieurs instances de l'application) pour refléter le déploiement de l'application comme on le fait en entreprise
TP8 :
Mise en place de health probes sur les applications déployé précédemment. Cela permet le self healing de l'application.
TP9 :
Mise en place de quota pour chacune des applications, permettant de mieux cadrer leur consommation de mémoire, CPU et stockage.
Commun
La réalisation de ces TPs se font en séances et les corrections sont faites de maniére collégialles.
Connaissances requises
Connaissances des concepts de bases de la containérisation, bon niveau sur linux.
RSE (Responsabilité Sociale et Environnementale)
Bibliographie
Documentation de Kubernetes : https://kubernetes.io/docs/home/