Az Azure Container Registry használata az Azure Red Hat OpenShifttel (ARO)

Az Azure Container Registry (ACR) egy felügyelt tárolóregisztrációs szolgáltatás, amellyel privát Docker-tárolólemezképeket tárolhat nagyvállalati képességekkel, például georeplikálással. Az ACR ARO-fürtből való eléréséhez a fürt hitelesítést végezhet az ACR-sel a Docker bejelentkezési hitelesítő adatainak Kubernetes-titkos kódban való tárolásával. Hasonlóképpen, az ARO-fürtök a pod-specifikációban lévő imagePullSecret használatával hitelesíthetik magukat a beállításjegyzékben a rendszerkép lekérésekor. Ebből a cikkből megtudhatja, hogyan állíthat be egy Azure Container Registryt egy Azure Red Hat OpenShift-fürttel privát Docker-tárolólemezképek tárolására és lekérésére.

Előfeltételek

Ez az útmutató feltételezi, hogy rendelkezik egy meglévő Azure Container Registryvel. Ha nem, az Azure Portal vagy az Azure CLI utasításait használva hozzon létre egy tárolóregisztrációs adatbázist.

Ez a cikk azt is feltételezi, hogy rendelkezik egy meglévő Azure Red Hat OpenShift-fürttel, és telepítve van a parancssori oc felület. Ha nem, kövesse az ARO-fürt létrehozása oktatóanyag utasításait.

Lekéréses titkos kód lekérése

Az ARO-fürtből a beállításjegyzék eléréséhez szüksége lesz egy lekéréses titkos kódra az ACR-ből.

A titkos lekéréses hitelesítő adatok lekéréséhez használhatja az Azure Portalt vagy az Azure CLI-t.

Ha az Azure Portalt használja, lépjen az ACR-példányra, és válassza a Hozzáférési kulcsok lehetőséget. Az Ön docker-username neve a tárolóregisztrációs adatbázis, használja a jelszót vagy a jelszót2.docker-password

Access Keys

Ehelyett az Azure CLI-vel szerezheti be ezeket a hitelesítő adatokat:

az acr credential show -n <your registry name>

A Kubernetes-titkos kód létrehozása

Most ezekkel a hitelesítő adatokkal létrehozunk egy Kubernetes-titkos kulcsot. Hajtsa végre a következő parancsot az ACR hitelesítő adataival:

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

Megjegyzés:

Ez a titkos kód az aktuális OpenShift Projectben (Kubernetes Namespace) lesz tárolva, és csak az adott projektben létrehozott podok hivatkozhatnak rá. Ebben a dokumentumban további útmutatást talál egy fürtszintű lekéréses titkos kód létrehozásához.

Ezután csatolja a titkos kulcsot a pod által használt szolgáltatásfiókhoz, hogy a pod elérhesse a tárolóregisztrációs adatbázist. A szolgáltatásfiók nevének meg kell egyeznie a pod által használt szolgáltatásfiók nevével. default az alapértelmezett szolgáltatásfiók:

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

Pod létrehozása privát beállításjegyzék-rendszerkép használatával

Most, hogy csatlakoztattuk az ARO-fürtöt az ACR-hez, húzzunk le egy képet az ACR-ből egy pod létrehozásához.

Kezdje egy podSpectel, és adja meg az imagePullSecretként létrehozott titkos kulcsot:

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

A pod működésének ellenőrzéséhez hajtsa végre ezt a parancsot, és várja meg, amíg az állapot fut:

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

Következő lépések