Configurer le registre de conteneurs intégré pour Azure Red Hat OpenShift 4

Azure Red Hat OpenShift fournit un registre d’images conteneur intégré afin de pouvoir approvisionner automatiquement de nouveaux référentiels d’images à la demande. En utilisant ce registre, vous disposez d’un emplacement intégré où les compilations de votre application peuvent envoyer les images générées.

Dans cet article, vous allez configurer le registre d’images conteneur intégré pour un cluster Azure Red Hat OpenShift 4. Vous apprenez à :

  • Autoriser une identité à accéder au registre
  • Accéder au registre d’images conteneur intégré à partir du cluster
  • Accéder au registre d’images conteneur intégré à partir d’un autre emplacement que le cluster

Avant de commencer

Cet article suppose que vous disposez d’un cluster existant (consultez Créer un cluster Azure Red Hat OpenShift 4). Si vous souhaitez configurer l’intégration Microsoft Entra, veillez à créer le cluster avec l’argument --pull-secret à az aro create.

Tip

La configuration de l’authentification Microsoft Entra pour votre cluster est le moyen le plus simple d’interagir avec le registre interne depuis l’extérieur du cluster.

Une fois que vous avez votre cluster, connectez-vous au cluster en authentifiant en tant qu’utilisateur kubeadmin .

Configurer l’authentification au registre

Pour accéder au Registre interne, vous devez accorder des autorisations à l’intérieur du cluster à n’importe quelle identité, telle qu’un utilisateur de cluster, un utilisateur Microsoft Entra ou un compte de service Azure Red Hat OpenShift.

En tant que kubeadmin, exécutez les commandes suivantes :

# Note: replace "<user>" with the identity you need to access the registry
oc policy add-role-to-user -n openshift-image-registry registry-viewer <user>
oc policy add-role-to-user -n openshift-image-registry registry-editor <user>

Remarque

Pour les utilisateurs du cluster et les utilisateurs Microsoft Entra, ce nom est le même que celui que vous utilisez pour vous authentifier dans le cluster. Pour les comptes de service Azure Red Hat OpenShift, utilisez le format system:serviceaccount:<project>:<name> pour le nom.

Accéder au registre

Après avoir configuré l’authentification pour le Registre, vous pouvez interagir avec celui-ci. Les sections suivantes fournissent plus de détails.

Depuis l’intérieur du cluster

Supposons que vous exécutiez une plateforme d’intégration continue et de livraison continue (CI/CD) sous forme de pods qui envoient et extraient des images vers et depuis le registre. Si vous avez besoin d’accéder au Registre à partir du cluster, vous pouvez accéder au Registre via son service IP de cluster au nom image-registry.openshift-image-registry.svc.cluster.local:5000de domaine complet. Tous les pods du cluster peuvent accéder à ce Registre.

À partir d’un autre emplacement que le cluster

Supposons que vous souhaitez envoyer (push) et extraire des images à partir de l’ordinateur portable d’un développeur, d’une plateforme CI/CD externe ou d’un autre cluster. Si vos flux de travail nécessitent que vous accédiez au registre interne à partir de l’extérieur du cluster, vous devez effectuer quelques étapes supplémentaires.

Comme kubeadmin, exécutez les commandes suivantes pour exposer le registre intégré en dehors du cluster via un itinéraire :

oc patch config.imageregistry.operator.openshift.io/cluster --patch='{"spec":{"defaultRoute":true}}' --type=merge
oc patch config.imageregistry.operator.openshift.io/cluster --patch='[{"op": "add", "path": "/spec/disableRedirect", "value": true}]' --type=json

Vous pouvez ensuite identifier le nom de domaine pleinement qualifié du registre, routable depuis l’extérieur :

En tant que kubeadmin, exécutez :

oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'