Organisation
organisation des cours / labos
Chaque séance est constituée d'une présentation de la séance avec, éventuellement, une présentation théorique et de diverses tâches à faire.
Le planning informatif se trouve ci-dessous, les tâches à faire dans les différentes sections Séance i.
ATTENTION
Nous demandons de tenir à jour un rapport d'activités au fur et à mesure des séances.
Rapport
Le rapport contient vos notes au fur et à mesure des séances. Il est à la fois votre outil d'apprentissage et — une partie — de notre outil d'évaluation. En ce sens, il devra avoir cette forme : c'est un fichier au format markdown correctement structuré et facilement lisible. Les fichiers YAML que vous écrirez s'y retrouvent soit tels quels, soit sous forme de liens (et surement pas sous forme de screenshots).
Un dépôt git sera créé pour vous afin d'y déposer votre rapport. Puisque votre rapport se crée au fur et à mesure des séances, il ne fera pas l'objet d'un unique commit mais bien d'un commit par séance de travail.
| Exigences |
|---|
Un seul fichier markdown idéalement nommé README.md |
| Le rapport est structuré avec des titres de différents niveaux |
Les configurations YAML sont soit inclues (entre balises ```yaml ```) ou via un lien |
| Le rapport est remis avant la date butoir et fait l'objet d'un commit par séance de travail |
Le rapport se trouve dans la branche main du dépôt qui vous a été attribué |
| Les messages de commit suivent la recommandation imperative mood (impératif présent et sont en anglais) |
https://docs.framasoft.org/fr/grav/markdown.htmlhttps://blog.namok.be/2013-11-19-billet-markdown.htmlhttps://daringfireball.net/projects/markdown/syntaxhttps://www.ionos.fr/digitalguide/sites-internet/developpement-web/markdown/
Planning
| Séance | Thème de la Séance | Objectifs d'Apprentissage | Activité Pratique (Lab) |
|---|---|---|---|
| 1 | Introduction à la conteneurisation et Kubernetes | Comprendre les conteneurs. Différencier VM et conteneur. Découvrir l'orchestration. Comprendre l'architecture K8s (et Minikube). | Installer Minikube sur sa machine perso. |
| 2 | Installation de k3s | Avoir un k3s et un pod qui tournent | Installer k3s sur le serveur du groupe. Lancer un premier individuellement un premier pod |
| 3 | Accèes distant | Mettre en place l'accès distant via k8s via un token. Création du namespace personnel et lancer un premier pod | |
| 4 | Pods & deployments | Maitriser les objets de type (kind) pod et deployment. Gérer l'état (state). Mise à l'échelle (scalability) | Créer des pods et des deployments en YAML. Mettre à l'échelle (scaler). Ajouter port forward pour accéder aux pods créés |
| 5 | Services & accès | Exposer des applications. Donner une IP et un port forwarding. Utiliser les labels et des sélecteurs (selectors). | Créer des Services (ClusterIP, NodePort). |
| 6 | Réseau avancé : ingress | Gérer le trafic entrant et comprendre les Ingress controllers. | Déployer un ingress pour router le trafic vers 2 services. Le pod est accessible de l'extérieur |
| 7 | Stockage Persistent | Comprendre la gestion du stockage (PV, PVC, StorageClass). | Monter un volume persistent dans un Pod. |
| 8 | Configuration & secrets | Gérer la configuration (ConfigMaps) et les secrets. | Injecter des variables et des fichiers de configuration. |
| 9 à 12 | Petit projet de synthèse | à déterminer |
Total : 24 heures de formation