Isolation et container Isolation

1. Principe

L’isolation est une technique consistant à exécuter des applications dans leurs propres contextes, isolés des autres. C’est une forme de virtualisation. La première implémentation de ce type sous Unix date de 1979, avec chroot. chroot

L’isolation d’un ou de plusieurs processus est assurée par le noyau Linux à l’aide des deux mécanismes : les espaces de noms ou namespaces, et les groupes de contrôle ou cgroups. Les namespaces sont apparus en 2002, et les cgroups en 2007. Tout noyau Linux intègre ces fonctionnalités par défaut. L’arrivée des espaces de noms utilisateurs ou users namespaces dans le noyau 3.8 en février 2013 a ouvert la voie au support complet des conteneurs ou containers.

Les namespaces regroupent des processus dans un espace isolé des autres. Ils permettent d’avoir : Namespace

  • une isolation des processus et un processeur de PID 1 comme premier processus dans son espace (PID 1 du premier processus d’un espace de noms) ;

  • une isolation du réseau, avec un IP et des ports qui lui sont propres ;

  • une isolation des volumes de données : le stockage ;

  • une isolation des droits et des utilisateurs par rapport à l’hôte : être root au sein d’un conteneur peut ainsi correspondre à un utilisateur sans pouvoirs sur l’hôte ;

Les cgroups contrôlent les ressources...

Pour consulter la suite, découvrez le livre suivant :
couv_EPHADIS.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Cahier des charges
Suivant
Préparer l'environnement