Azure Container Registry gebruiken met Azure Red Hat OpenShift (ARO)

Azure Container Registry (ACR) is een beheerde containerregisterservice die u kunt gebruiken om persoonlijke Docker-containerinstallatiekopieën op te slaan met bedrijfsmogelijkheden, zoals geo-replicatie. Voor toegang tot de ACR vanuit een ARO-cluster kan het cluster worden geverifieerd met ACR door aanmeldingsreferenties van Docker op te slaan in een Kubernetes-geheim. Op dezelfde manier kan een ARO-cluster een imagePullSecret in de podspecificatie gebruiken om te verifiëren bij het register bij het ophalen van de installatiekopie. In dit artikel leert u hoe u een Azure Container Registry instelt met een Azure Red Hat OpenShift-cluster om persoonlijke Docker-containerinstallatiekopieën op te slaan en op te halen.

Vereisten

In deze handleiding wordt ervan uitgegaan dat u een bestaande Azure Container Registry hebt. Als u dat niet doet, gebruikt u de Azure Portal- of Azure CLI-instructies om een containerregister te maken.

In dit artikel wordt ook ervan uitgegaan dat u een bestaand Azure Red Hat OpenShift-cluster hebt en dat de oc CLI is geïnstalleerd. Zo niet, volg dan de instructies in de zelfstudie ARO-cluster maken.

Een pull-geheim ophalen

U hebt een pull-geheim van ACR nodig om toegang te krijgen tot het register vanuit uw ARO-cluster.

Als u uw pull-geheime referenties wilt ophalen, kunt u De Azure-portal of de Azure CLI gebruiken.

Als u Azure Portal gebruikt, gaat u naar uw ACR-exemplaar en selecteert u Toegangssleutels. Uw docker-username is de naam van uw containerregister, gebruik een wachtwoord of wachtwoord2 voor docker-password.

Access Keys

In plaats daarvan kunt u de Azure CLI gebruiken om deze referenties op te halen:

az acr credential show -n <your registry name>

Het Kubernetes-geheim maken

Nu gebruiken we deze referenties om een Kubernetes-geheim te maken. Voer de volgende opdracht uit met uw ACR-referenties:

oc create secret docker-registry \
    --docker-server=<your registry name>.azurecr.io \
    --docker-username=<your registry name> \
    --docker-password=******** \
    --docker-email=unused \
    acr-secret

Notitie

Dit geheim wordt opgeslagen in het huidige OpenShift-project (Kubernetes-naamruimte) en kan alleen worden verwezen door pods die in dat project zijn gemaakt. Zie dit document voor meer instructies over het maken van een clusterbreed pull-geheim.

Koppel vervolgens het geheim aan het serviceaccount dat door de pod wordt gebruikt, zodat de pod het containerregister kan bereiken. De naam van het serviceaccount moet overeenkomen met de naam van het serviceaccount dat door de pod wordt gebruikt. default is het standaardserviceaccount:

oc secrets link default <pull_secret_name> --for=pull

Een pod maken met behulp van een privéregisterinstallatiekopieën

Nu we uw ARO-cluster hebben verbonden met uw ACR, gaan we een installatiekopie ophalen uit uw ACR om een pod te maken.

Begin met een podSpec en geef het geheim op dat u hebt gemaakt als een 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

Als u wilt testen of uw pod actief is, voert u deze opdracht uit en wacht u totdat de status Wordt uitgevoerd:

$ oc get pods --watch
NAME         READY   STATUS    RESTARTS   AGE
hello-world  1/1     Running   0          30s

Volgende stappen