Použití služby Azure Container Registry s Azure Red Hat OpenShiftem (ARO)

Azure Container Registry (ACR) je spravovaná služba registru kontejnerů, kterou můžete použít k ukládání privátních imagí kontejnerů Dockeru s podnikovými funkcemi, jako je geografická replikace. Pokud chcete získat přístup ke službě ACR z clusteru ARO, může se cluster ověřit pomocí ACR uložením přihlašovacích údajů Dockeru do tajného kódu Kubernetes. Podobně může cluster ARO použít imagePullSecret ve specifikaci podu k ověření v registru při vyžádání image. V tomto článku se dozvíte, jak nastavit Službu Azure Container Registry s clusterem Azure Red Hat OpenShift pro ukládání a načítání privátních imagí kontejnerů Dockeru.

Předpoklady

V této příručce se předpokládá, že máte existující službu Azure Container Registry. Pokud to neuděláte, vytvořte registr kontejneru pomocí webu Azure Portal nebo azure CLI.

Tento článek také předpokládá, že máte existující cluster Azure Red Hat OpenShift a máte nainstalované rozhraní příkazového oc řádku. Pokud ne, postupujte podle pokynů v kurzu vytvoření clusteru ARO.

Získání tajného kódu pro přijetí změn

Pro přístup k registru z clusteru ARO budete potřebovat tajný klíč pro vyžádání změn z ACR.

Pokud chcete získat přihlašovací údaje pro vyžádání tajného kódu, můžete použít Azure Portal nebo Azure CLI.

Pokud používáte Azure Portal, přejděte do instance služby ACR a vyberte Přístupové klíče. Je docker-username to název vašeho registru kontejneru, pro který použijte heslo nebo heslo 2 docker-password.

Access Keys

Místo toho můžete k získání těchto přihlašovacích údajů použít Azure CLI:

az acr credential show -n <your registry name>

Vytvoření tajného kódu Kubernetes

Teď tyto přihlašovací údaje použijeme k vytvoření tajného kódu Kubernetes. Spusťte následující příkaz s přihlašovacími údaji ACR:

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

Poznámka:

Tento tajný klíč se uloží v aktuálním projektu OpenShift (obor názvů Kubernetes) a bude odkazovat pouze pody vytvořenými v tomto projektu. Další pokyny k vytvoření celého tajného kódu pro přijetí změn v clusteru najdete v tomto dokumentu .

Dále propojte tajný kód s účtem služby, který bude pod používat, aby se pod dostal do registru kontejneru. Název účtu služby by se měl shodovat s názvem účtu služby, který pod používá. default je výchozí účet služby:

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

Vytvoření podu pomocí image privátního registru

Teď, když jsme cluster ARO připojili k ACR, načteme image z ACR a vytvoříme pod.

Začněte s podSpec a zadejte tajný klíč, který jste vytvořili jako 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

Pokud chcete otestovat, jestli je pod spuštěný, spusťte tento příkaz a počkejte na spuštění stavu:

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

Další kroky