Bases du cloud et des conteneurs

Parmi les fonctions du noyau Linux qui permettent les conteneurs, quelle association entre les espaces de noms (namespaces), les cgroups (groupes de contrôle) et leur rôle est correcte ?

  1. AEspaces de noms : séparent ce qu'un processus voit (identifiants de processus, réseau, points de montage, etc.) ; cgroups : limitent et mesurent l'utilisation de ressources comme le CPU et la mémoire
  2. BEspaces de noms : limitent et mesurent l'utilisation de ressources comme le CPU et la mémoire ; cgroups : séparent ce qu'un processus voit (identifiants de processus, réseau, points de montage, etc.)
  3. CEspaces de noms : démarrent un noyau distinct pour chaque conteneur afin de les isoler les uns des autres ; cgroups : créent un CPU virtuel pour chaque conteneur et émulent le matériel
Afficher la réponse et l'explication

Réponse : A. Espaces de noms : séparent ce qu'un processus voit (identifiants de processus, réseau, points de montage, etc.) ; cgroups : limitent et mesurent l'utilisation de ressources comme le CPU et la mémoire

Un conteneur est un processus ordinaire qui s'exécute sur le noyau de l'hôte et que deux mécanismes isolent. Les espaces de noms répartissent en groupes les identifiants de processus, le réseau, les points de montage (la vue du système de fichiers), le nom d'hôte, etc., de sorte que les processus d'un conteneur ne voient que leur propre part. Les cgroups limitent le temps CPU et la quantité de mémoire qu'un groupe de processus peut utiliser, et en mesurent l'utilisation. Ce sont deux fonctions du noyau : un conteneur ne démarre donc pas d'autre noyau et n'émule pas non plus de matériel.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases du cloud et des conteneurs

  1. Sur un hôte Linux, Docker sert à démarrer un conteneur à partir d'une image fondée sur une autre distribution que celle de l'hôte, et l'on y exécute uname -r (commande qui affiche la version du noyau) et cat /etc/os-release (commande qui affiche les informations sur la distribution). Quelle description des résultats est correcte ?
  2. Quelle description de la relation entre une image de conteneur et un conteneur est correcte ?
  3. Dans un conteneur démarré à partir d'une image, on modifie le fichier de configuration /etc/app.conf, qui fait partie de l'image. Quelle description de ce qui se passe avec le mécanisme de stockage habituel de Docker (comme overlay2) est correcte ?
  4. Pour décompresser une archive de 500 MB, data.tar.gz, une image a été construite avec le Dockerfile ci-dessus. Bien que l'archive ait été supprimée dans le même RUN après la décompression, l'image est restée plus grosse de la taille de l'archive. Quelle association entre la cause et le remède est la plus appropriée ?
  5. Cinq images empilent chacune leur propre couche de 30 MB sur la même image de base (120 MB). On néglige la compression des couches et la taille des métadonnées. Quel est l'espace disque utilisé par les images quand les cinq sont récupérées (pull) sur un même serveur ?