Skip to content

daive-masi/iot-os-project-hepl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction à l'IoT et aux Systèmes d'Exploitation (HEPL 2024-2025)

Ce dépôt documente la création d'un système d'exploitation Linux personnalisé, sa conteneurisation avec Docker, et son déploiement sur un cluster Kubernetes, dans le cadre du cours B38-M18P-MI1.

Objectifs du Projet

  • Comprendre le processus de construction d'un système GNU/Linux à partir des sources.
  • Maîtriser les concepts de virtualisation au niveau de l'OS (conteneurs).
  • Apprendre les bases de l'orchestration de conteneurs avec Kubernetes.
  • Lier les concepts théoriques (processus, mémoire, I/O, FS) à leur application pratique.

Étapes du Projet

Ce projet est découpé en plusieurs étapes, chacune documentée dans un fichier dédié :

  1. Étape 1 : Préparation de l'environnement Gentoo

    • Installation d'un système de base Gentoo dans une VM VMware.
    • Partitionnement, configuration de la compilation et installation d'un noyau de base.
  2. Étape 2 : Création d'un OS personnalisé

    • Création d'un système de fichiers FHS.
    • Compilation de la glibc, de BusyBox et d'un noyau Linux personnalisé.
  3. Étape 3 : Création d'une clé USB Bootable

    • Transfert de l'OS personnalisé sur une clé USB et configuration du bootloader syslinux.
  4. Étape 4 : Installation et Configuration de Docker

    • Recompilation du noyau avec les options nécessaires pour Docker (namespaces, cgroups).
    • Installation du moteur Docker.
  5. Étape 5 : Application Multi-Conteneurs

    • Création des Dockerfiles pour une application web (frontend, backend, base de données).
    • Orchestration locale avec docker-compose.
  6. Étape 6 : Déploiement sur Kubernetes

    • Écriture des manifestes Deployment et Service.
    • Déploiement de l'application sur le cluster K8s du laboratoire et gestion du stockage persistant avec NFS.

Fichiers de Configuration

Les fichiers de configuration clés utilisés tout au long de ce projet sont stockés dans le dossier config_files/.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published