Virtualisation & containers
Progression
#Virtualisation & containers
À quoi ça sert ?
À quoi ça sert: isoler des environnements d’exécution, consolider des charges, et déployer à l’identique. Comment: hyperviseurs (isolation via VMs), containers (isolation noyau via namespaces/cgroups), images reproductibles.
#Concepts
- Hyperviseur: exécute des VMs avec leur OS invité (CPU/mémoire/IO virtualisés). Type‑1 (bare‑metal) vs Type‑2 (sur OS hôte). Paravirtualisation/virtio pour réduire l’overhead.
- Containers: partagent le noyau hôte; isolation par namespaces (pid, net, mnt, ipc, uts, user) et limitation via cgroups (CPU/mémoire/IO/pids).
- Images: snapshot de filesystem en couches (OCI); runtime standardisés (runc/containerd) pour portabilité.
#Animation: création d’un container (concept)
Namespaces
Isoler pid/net/mount pour une vue mini‑système
Cgroups
Limiter CPU/mémoire/IO ; protéger l’hôte
RootFS
Monter l’image (overlayfs) : binaires/libs/app
Entrypoint
Processus 1 ; gérer signaux/arrêt propre
Sécurité
Activer seccomp/AppArmor/SELinux; éviter --privileged
; utilisateurs non‑root et images minimales; ne montez que ce qui est nécessaire.
#Diagramme: I/O VM vs container
Processus
Container/NS
Hôte
Hyperviseur
VM
Disque
#Quiz
Quelle différence majeure entre VM et container ?