Chapitre 6. Gestion des flux d'images

Les flux d'images permettent de créer et de mettre à jour des images de conteneurs de manière continue. Au fur et à mesure que des améliorations sont apportées à une image, des balises peuvent être utilisées pour attribuer de nouveaux numéros de version et assurer le suivi des modifications. Ce document décrit la gestion des flux d'images.

6.1. Pourquoi utiliser les imagestreams ?

Un flux d'images et ses balises associées fournissent une abstraction pour référencer les images de conteneurs à partir d'OpenShift Container Platform. Le flux d'images et ses balises vous permettent de voir quelles images sont disponibles et de vous assurer que vous utilisez l'image spécifique dont vous avez besoin, même si l'image dans le référentiel change.

Les flux d'images ne contiennent pas de données d'images réelles, mais présentent une vue virtuelle unique d'images apparentées, à l'instar d'un référentiel d'images.

Vous pouvez configurer les constructions et les déploiements de manière à ce qu'ils surveillent un flux d'images pour recevoir des notifications lorsque de nouvelles images sont ajoutées et qu'ils réagissent en effectuant une construction ou un déploiement, respectivement.

Par exemple, si un déploiement utilise une certaine image et qu'une nouvelle version de cette image est créée, un déploiement pourrait être automatiquement effectué pour récupérer la nouvelle version de l'image.

Toutefois, si la balise de flux d'images utilisée par le déploiement ou la construction n'est pas mise à jour, même si l'image du conteneur dans le registre d'images du conteneur est mise à jour, la construction ou le déploiement continue d'utiliser l'image précédente, vraisemblablement connue et bonne.

Les images sources peuvent être stockées dans l'un des endroits suivants :

  • Le registre intégré d'OpenShift Container Platform.
  • Un registre externe, par exemple registry.redhat.io ou quay.io.
  • Autres flux d'images dans le cluster OpenShift Container Platform.

Lorsque vous définissez un objet qui fait référence à une balise de flux d'images, comme une configuration de construction ou de déploiement, vous pointez vers une balise de flux d'images et non vers le référentiel. Lorsque vous construisez ou déployez votre application, OpenShift Container Platform interroge le référentiel à l'aide de la balise de flux d'images pour localiser l'ID associé à l'image et utilise cette image exacte.

Les métadonnées du flux d'images sont stockées dans l'instance etcd avec d'autres informations sur le cluster.

L'utilisation de flux d'images présente plusieurs avantages importants :

  • Vous pouvez baliser, revenir en arrière et traiter rapidement les images, sans avoir à les repousser à l'aide de la ligne de commande.
  • Vous pouvez déclencher des constructions et des déploiements lorsqu'une nouvelle image est poussée vers le registre. OpenShift Container Platform dispose également de déclencheurs génériques pour d'autres ressources, telles que les objets Kubernetes.
  • Vous pouvez marquer une balise pour qu'elle soit réimportée périodiquement. Si l'image source a changé, ce changement est pris en compte et reflété dans le flux d'images, ce qui déclenche le flux de construction ou de déploiement, en fonction de la configuration de la construction ou du déploiement.
  • Vous pouvez partager des images à l'aide d'un contrôle d'accès précis et les distribuer rapidement à vos équipes.
  • Si l'image source change, la balise du flux d'images pointe toujours vers une version connue de l'image, ce qui garantit que votre application n'est pas interrompue de manière inattendue.
  • Vous pouvez configurer la sécurité concernant la visualisation et l'utilisation des images au moyen d'autorisations sur les objets du flux d'images.
  • Les utilisateurs qui n'ont pas l'autorisation de lire ou de lister des images au niveau du cluster peuvent toujours récupérer les images marquées dans un projet à l'aide des flux d'images.