Conteneur contre machine virtuelle
Ce que chacun embarque et partage, la comparaison sur sept critères (noyau, isolement, poids, démarrage, densité, portabilité, système invité) et les contraintes qui font choisir l'un ou l'autre.
- 23 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Sur la frise
- Mises en situation
- Comprendre
Quelques cartes du deck
Conteneur : de quoi s'agit-il ?
Voir la réponse
Processus (ou groupe de processus) isolé de ses voisins, qui voit son propre système de fichiers, ses propres processus et son propre réseau, tout en s'exécutant sur le noyau de l'hôte.
Il n'embarque ni noyau ni matériel simulé, seulement l'application et ses bibliothèques : c'est ce qui le rend léger.
Un développeur lance
docker run alpine uname -rsur son hôte Linux 6.8 et obtient6.8.0-45-generic. Pourquoi ?- Le conteneur n'a pas de noyau : il utilise celui de l'hôte
- L'image alpine embarque un noyau dont la version est copiée de l'hôte au lancement
- Docker émule le noyau de l'hôte dans une petite machine virtuelle cachée sur Linux
- La commande
unameest interceptée par Docker, qui répond avec la version de l'hôte
Voir la réponse
Le conteneur n'a pas de noyau : il utilise celui de l'hôte
Un conteneur Linux est un processus de l'hôte, isolé par des espaces de noms. L'image alpine ne contient que des fichiers (outils, bibliothèques), jamais de noyau.
Dans un conteneur, la commande
uname -raffiche la même version que sur l'hôte, parce que le conteneur utilise ….Voir la réponse
Dans un conteneur, la commande
uname -raffiche la même version que sur l'hôte, parce que le conteneur utilise le noyau de l'hôte.Dans une machine virtuelle,
uname -raffiche la version du noyau invité, qui peut être très différente de celle de l'hôte.Machine virtuelle : de quoi s'agit-il ?
Voir la réponse
Ordinateur simulé par un hyperviseur, avec son processeur, sa mémoire et ses disques virtuels, sur lequel on installe un système d'exploitation complet.
Elle embarque son propre noyau : on peut y faire tourner un autre système que celui de l'hôte, au prix d'un démarrage et d'un poids plus lourds.
Un hébergeur fait tourner sur les mêmes hôtes le code de clients qui ne se font pas confiance, dans des conteneurs. Quel est le risque principal, et quelle est la parade ?
- Une faille du noyau partagé permettrait de sortir d'un conteneur ; une machine virtuelle par client y répond
- Les conteneurs d'un même hôte se disputent le même port ; on répond en changeant de port
- Les conteneurs sont trop lents à démarrer pour des clients ; on répond avec un hôte plus gros
- Les images de conteneurs se mélangent entre clients ; on répond en les chiffrant
Voir la réponse
Une faille du noyau partagé permettrait de sortir d'un conteneur ; une machine virtuelle par client y répond
Tous les conteneurs appellent le même noyau : une vulnérabilité d'élévation de privilèges dans ce noyau les met tous en danger. Une machine virtuelle par client met un noyau, et un hyperviseur, entre eux.