5.2. Marquage des images
Les sections suivantes fournissent un aperçu et des instructions pour utiliser les balises d’image dans le contexte des images conteneur pour travailler avec Red Hat OpenShift Service sur les flux d’images AWS et leurs balises.
5.2.1. Balises d’image Copier lienLien copié sur presse-papiers!
La balise image est une étiquette appliquée à une image conteneur dans un référentiel qui distingue une image spécifique des autres images d’un flux d’images. Généralement, le tag représente un numéro de version d’une sorte. Ici :v3.11.59-2 est le tag:
registry.access.redhat.com/openshift3/jenkins-2-rhel7:v3.11.59-2
Il est possible d’ajouter des balises supplémentaires à une image. À titre d’exemple, une image peut se voir attribuer les balises :v3.11.59-2 et :dernières.
Le service OpenShift Red Hat sur AWS fournit la commande oc tag, qui est similaire à la commande docker tag, mais fonctionne sur les flux d’images au lieu de directement sur les images.
5.2.2. Conventions de balises d’image Copier lienLien copié sur presse-papiers!
Les images évoluent au fil du temps et leurs balises le reflètent. Généralement, une balise d’image pointe toujours vers la dernière image construite.
Lorsqu’il y a trop d’informations intégrées dans un nom de balise, comme v2.0.1-may-2019, le tag pointe vers une seule révision d’une image et n’est jamais mis à jour. En utilisant les options d’élagage par défaut, une telle image n’est jamais supprimée.
Lorsque la balise est nommée v2.0, les révisions d’image sont plus probables. Cela se traduit par une histoire plus longue des balises et, par conséquent, l’élageur d’image est plus susceptible de supprimer des images anciennes et inutilisées.
Bien que la convention de dénomination des balises dépend de vous, voici quelques exemples dans le format <image_name>:<image_tag>:
| Description | Exemple : |
|---|---|
| La révision |
|
| Architecture |
|
| Image de base |
|
| Dernier (potentiellement instable) |
|
| Dernière écurie |
|
Lorsque vous avez besoin de dates dans les noms de balises, inspectez périodiquement les images anciennes et non prises en charge et les supprimez. Dans le cas contraire, vous pouvez faire l’expérience d’une utilisation croissante des ressources causée par la conservation d’anciennes images.
5.2.3. Ajout de tags aux flux d’images Copier lienLien copié sur presse-papiers!
Le flux d’images dans Red Hat OpenShift Service sur AWS comprend zéro ou plus d’images de conteneur identifiées par des balises.
Il existe différents types de balises disponibles. Le comportement par défaut utilise une balise permanente, qui pointe vers une image spécifique dans le temps. Lorsque la balise permanente est en cours d’utilisation et que la source change, la balise ne change pas pour la destination.
La balise de suivi signifie que les métadonnées de la balise de destination sont mises à jour lors de l’importation de la balise source.
Procédure
Ajoutez des tags à un flux d’images à l’aide de la commande oc tag:
$ oc tag <source> <destination>À titre d’exemple, pour configurer la balise de flux d’image ruby statique-2.0 pour toujours se référer à l’image actuelle pour la balise ruby image stream 2.0:
$ oc tag ruby:2.0 ruby:static-2.0Cela crée une nouvelle balise de flux d’image nommée statique-2.0 dans le flux d’image rubis. La nouvelle balise renvoie directement à l’id de l’image que la balise de flux d’image ruby:2.0 pointée à l’heure où la balise oc a été exécutée, et l’image qu’il pointe pour ne jamais changer.
Afin de s’assurer que la balise de destination est mise à jour lorsque la balise source change, utilisez l’indicateur --alias=true:
$ oc tag --alias=true <source> <destination>
Utilisez une balise de suivi pour créer des alias permanents, par exemple les derniers ou stables. La balise ne fonctionne correctement qu’à l’intérieur d’un seul flux d’image. Essayer de créer un alias de flux d’image croisée produit une erreur.
- Il est également possible d’ajouter le drapeau --scheduled=true pour que la balise de destination soit rafraîchie ou réimportée périodiquement. La période est configurée globalement au niveau du système.
L’indicateur --reference crée une balise de flux d’images qui n’est pas importée. Le tag pointe vers l’emplacement source, de façon permanente.
Dans le cas où vous souhaitez demander à Red Hat OpenShift Service sur AWS de toujours récupérer l’image marquée dans le registre intégré, utilisez --reference-policy=local. Le registre utilise la fonction pull-through pour servir l’image au client. Les blobs d’image sont par défaut reflétés localement par le registre. En conséquence, ils peuvent être tirés plus rapidement la prochaine fois qu’ils seront nécessaires. Le drapeau permet également de tirer des registres non sécurisés sans avoir besoin de fournir un enregistrement non sécurisé au temps d’exécution du conteneur tant que le flux d’images a une annotation non sécurisée ou que l’étiquette a une politique d’importation non sécurisée.
5.2.4. La suppression des balises des flux d’images Copier lienLien copié sur presse-papiers!
Il est possible de supprimer les balises d’un flux d’images.
Procédure
Afin de supprimer complètement une balise à partir d’un flux d’images run:
$ oc delete istag/ruby:latesta) ou:
$ oc tag -d ruby:latest
5.2.5. Faire référence aux images dans les flux d’images Copier lienLien copié sur presse-papiers!
Il est possible d’utiliser des balises pour référencer des images dans les flux d’images à l’aide des types de référence suivants.
| Le type de référence | Description |
|---|---|
|
| ImageStreamTag est utilisé pour référencer ou récupérer une image pour un flux et une balise d’image donnés. |
|
| ImageStreamImage est utilisé pour référencer ou récupérer une image pour un flux d’image donné et un ID d’image sha. |
|
| DockerImage est utilisé pour référencer ou récupérer une image pour un registre externe donné. Il utilise la spécification standard de traction Docker pour son nom. |
Lorsque vous affichez des définitions de flux d’images d’exemples, vous pouvez remarquer qu’elles contiennent des définitions de ImageStreamTag et des références à DockerImage, mais rien n’a trait à ImageStreamImage.
C’est parce que les objets ImageStreamImage sont automatiquement créés dans Red Hat OpenShift Service sur AWS lorsque vous importez ou marquez une image dans le flux d’images. Il ne faut jamais avoir à définir explicitement un objet ImageStreamImage dans une définition de flux d’images que vous utilisez pour créer des flux d’images.
Procédure
Afin de référencer une image pour un flux et une balise d’image donnés, utilisez ImageStreamTag:
<image_stream_name>:<tag>Afin de faire référence à une image pour un flux d’images donné et une image sha ID, utilisez ImageStreamImage:
<image_stream_name>@<id>Le <id> est un identifiant immuable pour une image spécifique, également appelé digeste.
Afin de référencer ou de récupérer une image pour un registre externe donné, utilisez DockerImage:
openshift/ruby-20-centos7:2.0NoteLorsqu’aucune balise n’est spécifiée, on suppose que la dernière balise est utilisée.
Il est également possible de faire référence à un registre tiers:
registry.redhat.io/rhel7:latestD’une image avec un digest:
centos/ruby-22-centos7@sha256:3a335d7d8a452970c5b4054ad7118ff134b3a6b50a2bb6d0c07c746e8986b28e