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
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.
Titkos kód csatolása a szolgáltatásfiókhoz
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