Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure Container Registry (ACR) est un service de registre de conteneurs managé que vous pouvez utiliser pour stocker des images de conteneur Docker privées avec des fonctionnalités d’entreprise telles que la géoréplication. Pour accéder à ACR à partir d’un cluster ARO, le cluster peut s’authentifier auprès d’ACR en stockant les informations d’identification de connexion Docker dans un secret Kubernetes. De même, un cluster ARO peut utiliser une image PullSecret dans la spécification pod pour s’authentifier auprès du registre lors de l’extraction de l’image. Dans cet article, vous allez apprendre à configurer un registre de conteneurs Azure avec un cluster Azure Red Hat OpenShift pour stocker et extraire des images conteneur Docker privées.
Conditions préalables
Ce guide part du principe que vous disposez déjà d’un Azure Container Registry. Si ce n’est pas le cas, utilisez le portail Azure ou les instructions Azure CLI pour créer un registre de conteneurs.
Cet article part également du principe que vous disposez d’un cluster Azure Red Hat OpenShift et que l’interface de ligne de commande oc
est installée. Si ce n’est pas le cas, suivez les instructions du tutoriel Créer un cluster ARO.
Obtenir un secret d’extraction
Pour accéder au registre à partir de votre cluster ARO, vous aurez besoin d’un secret d’extraction d’ACR.
Pour obtenir les informations de connexion de votre secret d’extraction, vous pouvez utiliser le portail Azure ou l’interface de ligne de commande Azure.
Si vous utilisez le portail Azure, accédez à votre instance ACR, puis sélectionnez Clés d’accès. Votre docker-username
est le nom de votre registre de conteneurs. Utilisez le password ou le password2 pour docker-password
.
Au lieu de cela, vous pouvez utiliser l’interface de ligne de commande Azure pour obtenir ces informations d’identification :
az acr credential show -n <your registry name>
Créer le secret Kubernetes
À présent, nous utilisons ces informations d’identification pour créer un secret Kubernetes. Exécutez la commande suivante avec vos informations d’identification ACR :
oc create secret docker-registry \
--docker-server=<your registry name>.azurecr.io \
--docker-username=<your registry name> \
--docker-password=<password> \
--docker-email=unused \
acr-secret
Remarque
Ce secret est stocké dans le projet OpenShift actuel (espace de noms Kubernetes) et ne peut être référencé que par les pods créés dans ce projet. Pour obtenir des instructions supplémentaires sur la création d’un secret d’extraction pour l’ensemble d’un cluster, consultez ce document.
Lier le secret au compte de service
Ensuite, liez le secret au compte de service utilisé par le pod, afin que le pod puisse atteindre le registre de conteneurs. Le nom du compte de service doit correspondre au nom du compte de service utilisé par le pod. default
est le compte de service par défaut :
oc secrets link default <pull_secret_name> --for=pull
Créer un pod à l’aide d’une image de registre privé
Maintenant que nous avons connecté votre cluster ARO à votre ACR, nous allons extraire une image de votre ACR pour créer un pod.
Commencez par une podSpec et spécifiez le secret que vous avez créé en tant qu’imagePullSecret :
apiVersion: v1
kind: Pod
metadata:
name: hello-world
spec:
containers:
- name: hello-world
image: <your registry name>.azurecr.io/hello-world:v1
imagePullSecrets:
- name: acr-secret
Pour vérifier que votre pod est opérationnel, exécutez la commande suivante et attendez que l’état soit Exécution :
$ oc get pods --watch
NAME READY STATUS RESTARTS AGE
hello-world 1/1 Running 0 30s