Condividi tramite


Usare Registro Azure Container con Azure Red Hat OpenShift (ARO)

Registro Azure Container è un servizio di registro contenitori gestito che è possibile usare per archiviare immagini di contenitori Docker private con funzionalità aziendali, ad esempio la replica geografica. Per accedere al Registro Azure Container da un cluster ARO, il cluster può eseguire l'autenticazione con Registro Azure Container archiviando le credenziali di accesso Docker in un segreto Kubernetes. Analogamente, un cluster ARO può usare un imagePullSecret nella specifica del pod per eseguire l'autenticazione nel Registro di sistema durante il pull dell'immagine. Questo articolo illustra come configurare un Registro Azure Container con un cluster Azure Red Hat OpenShift per archiviare ed eseguire il pull di immagini di contenitori Docker private.

Prerequisiti

Questa guida presuppone che sia presente un Registro Azure Container esistente. In caso contrario, usare il portale di Azure o istruzioni dell'interfaccia della riga di comando di Azure per creare un registro contenitori.

Questo articolo presuppone anche che sia presente un cluster Azure Red Hat OpenShift esistente e che sia installata l'interfaccia della riga di comando di oc . In caso contrario, seguire le istruzioni riportate nell'esercitazione Creare un cluster ARO.

Ottenere un segreto pull

È necessario un segreto pull da Registro Azure Container per accedere al Registro di sistema dal cluster ARO.

Per ottenere le credenziali del segreto pull, è possibile usare il portale di Azure o l'interfaccia della riga di comando di Azure.

Se si usa il portale di Azure, passare all'istanza di Registro Azure Container e selezionare Chiavi di accesso. docker-username è il nome del registro contenitori, usare password o password2 per docker-password.

Chiavi di accesso

È invece possibile usare l'interfaccia della riga di comando di Azure per ottenere queste credenziali:

az acr credential show -n <your registry name>

Creare un segreto Kubernetes

A questo punto si useranno queste credenziali per creare un segreto Kubernetes. Eseguire il comando seguente con le credenziali del Registro Azure Container:

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

Nota

Questo segreto verrà archiviato nel progetto OpenShift corrente (spazio dei nomi Kubernetes) e sarà referenziabile solo dai pod creati in tale progetto. Per altre istruzioni sulla creazione di un segreto pull a livello di cluster, vedere questo documento.

Collegare quindi il segreto all'account del servizio che verrà usato dal pod, in modo che il pod possa raggiungere il registro contenitori. Il nome dell'account del servizio deve corrispondere al nome dell'account del servizio usato dal pod. default è l'account del servizio predefinito:

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

Creare un pod usando un'immagine del Registro di sistema privato

Ora che il cluster ARO è stato connesso al Registro Azure Container, è possibile eseguire il pull di un'immagine dal Registro Azure Container per creare un pod.

Iniziare con un podSpec e specificare il segreto creato come 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

Per verificare che il pod sia operativo, eseguire questo comando e attendere che lo stato sia In esecuzione:

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

Passaggi successivi