Partager via


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é appelé qui ajoute la possibilité de provisionner automatiquement de nouveaux référentiels d’images à la demande. Cela fournit aux utilisateurs un emplacement intégré pour que leurs builds d’application envoient (par push) les images obtenues.

Cet article explique comment configurer le registre d’images conteneurs intégré pour un cluster Azure Red Hat OpenShift (ARO) 4. Vous découvrirez comment effectuer les actions suivantes :

  • 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 part du principe que vous disposez d’un cluster ARO (consultez Créer un cluster Azure Red Hat OpenShift 4 existant). Si vous souhaitez configurer l’intégration de Microsoft Entra, veillez à créer le cluster avec l’argument --pull-secret sur az aro create.

Remarque

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 vous authentifiant en tant qu’utilisateur kubeadmin.

Configurer l’authentification au registre

Pour toute identité (utilisateur ou utilisatrice de cluster, utilisateur ou utilisatrice Microsoft Entra ou ServiceAccount) pour accéder au registre interne, elle doit disposer d’autorisations à l’intérieur du cluster :

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, il s’agit du même nom que celui que vous utilisez pour vous authentifier dans le cluster. Pour OpenShift ServiceAccounts, mettez le nom en forme comme suit : system:serviceaccount:<project>:<name>

Accéder au registre

Maintenant que vous avez configuré l’authentification pour le registre, vous pouvez interagir avec celui-ci :

À partir du cluster

Si vous devez accéder au registre à partir du cluster (par exemple, vous exécutez une plateforme d’intégration continue et de livraison continue en tant que pods qui envoie/extrait des images au registre), vous pouvez accéder au Registre via son Service ClusterIP au nom de domaine complet image-registry.openshift-image-registry.svc.cluster.local:5000, accessible à tous les pods du cluster.

À partir d’un autre emplacement que le cluster

Si vos flux de travail nécessitent l’accès au registre interne à partir d’un autre emplacement que le cluster (par exemple, vous souhaitez envoyer/extraire des images à partir de l’ordinateur portable d’un développeur, d’une plateforme d’intégration continue et de livraison continue externe et/ou d’un autre cluster ARO), vous devez effectuer quelques étapes supplémentaires :

En tant que 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 trouver le nom de domaine complet routable externe du registre :

En tant que kubeadmin, exécutez :

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

Étapes suivantes

Maintenant que vous avez configuré le registre d’images conteneurs intégré, vous pouvez commencer en déployant une application sur OpenShift. Pour les applications Java, consultez Déployer une application Java avec Open Liberty/WebSphere Liberty sur un cluster Azure Red Hat OpenShift 4.