Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Container Registry ist ein verwalteter Containerregistrierungsdienst. Verwenden Sie diesen Dienst, um private Docker-Container-Images mit Unternehmensfunktionen wie Georeplikation zu speichern.
Um von einem Cluster aus auf die Containerregistrierung zuzugreifen, speichern Sie Docker-Anmeldeinformationen in einem Kubernetes-Schlüssel für die Authentifizierung. Ein Cluster kann in der Podspezifikation ein Geheimnis für Imagepullvorgänge verwenden, um sich bei der Registry zu authentifizieren, wenn Sie das Image abrufen möchten.
In diesem Artikel erfahren Sie, wie Sie eine Containerregistrierung mit einem Azure Red Hat OpenShift Cluster einrichten, um private Docker-Containerimages zu speichern und abzurufen.
Voraussetzungen
In diesem Artikel wird davon ausgegangen, dass Sie über eine vorhandene Instanz der Containerregistrierung verfügen. Falls nicht, verwenden Sie das Azure-Portal oder die Anweisungen für die Azure CLI, um eine Containerregistrierung zu erstellen.
In diesem Artikel wird auch davon ausgegangen, dass Sie über einen vorhandenen Azure Red Hat OpenShift-Cluster verfügen und die oc CLI installiert ist. Wenn nicht, folgen Sie den Anweisungen im Lernprogramm zum Erstellen von Clustern.
Abrufen eines Pullgeheimnisses
Sie benötigen einen Pullschlüssel aus der Containerregistrierung, um von Ihrem Cluster aus auf die Registrierung zuzugreifen. Verwenden Sie zum Abrufen Ihrer Pull-Secret-Anmeldeinformationen entweder das Azure-Portal oder die Azure CLI.
Wenn Sie das Azure-Portal verwenden, wechseln Sie zu Ihrer Instanz der Containerregistrierung, und wählen Sie Zugriffstasten aus. Ihr docker-username Name ist der Name Ihrer Containerregistrierung. Ihr docker-password ist entweder password oder password2.
Alternativ können Sie die Azure CLI verwenden, um diese Anmeldeinformationen abzurufen:
az acr credential show -n <your registry name>
Erstellen des Kubernetes-Geheimnisses
Jetzt können Sie diese Anmeldeinformationen verwenden, um einen Kubernetes-Geheimschlüssel zu erstellen. Führen Sie den folgenden Befehl mit Ihren Containerregistrierungsanmeldeinformationen aus:
oc create secret docker-registry \
--docker-server=<your registry name>.azurecr.io \
--docker-username=<your registry name> \
--docker-password=<password> \
--docker-email=unused \
acr-secret
Hinweis
Dieser geheime Schlüssel wird im aktuellen Azure Red Hat OpenShift Projekt (Kubernetes-Namespace) gespeichert. Nur in diesem Projekt erstellte Pods können auf den geheimen Schlüssel verweisen. Weitere Informationen zum Erstellen eines clusterweiten Pullschlüssels finden Sie in der Dokumentation zu Red Hat.
Verknüpfen des Geheimnisses mit dem Dienstkonto
Verknüpfen Sie als Nächstes das Secret mit dem Servicekonto, das der Pod verwendet, sodass der Pod auf die Container-Registry zugreifen kann. Der Name des Dienstkontos sollte mit dem Namen des Dienstkontos übereinstimmen, den der Pod verwendet.
default ist das Standarddienstkonto.
oc secrets link default <pull_secret_name> --for=pull
Einen Pod mithilfe eines Images aus einer privaten Registry erstellen
Nachdem Sie ihren Cluster nun mit Ihrer Containerregistrierung verbunden haben, können Sie ein Image aus Ihrer Containerregistrierung abrufen, um einen Pod zu erstellen.
Beginnen Sie mit einer Pod-Spezifikation, und geben Sie den geheimen Schlüssel an, den Sie als Image Pull Secret erstellt haben.
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
Um zu überprüfen, ob Ihr Pod läuft, führen Sie diesen Befehl aus und warten Sie, bis der Status Running lautet:
$ oc get pods --watch
NAME READY STATUS RESTARTS AGE
hello-world 1/1 Running 0 30s