Bases du cloud et des conteneurs

Une image de conteneur construite par une chaîne CI/CD a été testée dans l'environnement de préproduction (staging) et validée. Quelle est la manière la plus appropriée de mettre cette image en production ?

  1. AReconstruire l'image pour la production à partir du même code source et mettre celle-ci en production
  2. BRenommer l'image testée avec le tag latest et récupérer (pull) latest dans l'environnement de production
  3. CMettre en production l'image testée elle-même en l'indiquant par son condensé (digest), et fournir les différences entre environnements par la configuration
Afficher la réponse et l'explication

Réponse : C. Mettre en production l'image testée elle-même en l'indiquant par son condensé (digest), et fournir les différences entre environnements par la configuration

Dans une telle chaîne, l'artefact produit par la construction (ici, l'image) est traité comme non modifiable, et c'est le même artefact qui passe de la préproduction à la production. Même à partir du même code source, une reconstruction peut récupérer d'autres versions des bibliothèques ou de l'image de base dont elle dépend : ce qui arriverait en production serait alors différent de ce qui a été testé. Un tag peut plus tard être déplacé vers une autre image ; pour être sûr de désigner la même image, on utilise le condensé, qui est déterminé par le contenu. Les différences entre environnements, comme les destinations de connexion, ne sont pas intégrées à l'image, mais fournies par une configuration comme des variables d'environnement.

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

Autres questions sur Bases du cloud et des conteneurs

  1. Comme ci-dessus, la destination de connexion à la base de données n'est pas écrite dans l'image, mais transmise sous forme de variable d'environnement au démarrage du conteneur. Quel est le principal avantage de cette conception ?
  2. Dans un système où plusieurs services fonctionnent ensemble, on veut savoir par quels services est passée une requête d'un utilisateur, dans quel ordre, et combien de temps elle a passé dans chacun. Parmi les données utilisées pour l'observabilité, laquelle est la plus adaptée ?
  3. 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 ?
  4. 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 ?
  5. Quelle description de la relation entre une image de conteneur et un conteneur est correcte ?