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 Red Hat OpenShift stellt eine integrierte Containerimageregistrierung bereit, damit Sie automatisch neue Imagerepositorys bei Bedarf bereitstellen können. Durch die Verwendung dieser Registry erhalten Sie einen integrierten Speicherort, in den Ihre Anwendungs-Builds die resultierenden Images pushen können.
In diesem Artikel konfigurieren Sie die integrierte Containerimageregistrierung für einen Azure Red Hat OpenShift 4-Cluster. Hier erfahren Sie, wie Sie:
- Autorisieren einer Identität für den Zugriff auf die Registrierung
- Zugreifen auf die integrierte Containerimageregistrierung innerhalb des Clusters
- Zugreifen auf die integrierte Containerimageregistrierung außerhalb des Clusters
Bevor Sie anfangen
In diesem Artikel wird davon ausgegangen, dass Sie über einen vorhandenen Cluster verfügen (siehe Erstellen eines Azure Red Hat OpenShift 4-Clusters). Wenn Sie die Microsoft-Entra-Integration konfigurieren möchten, stellen Sie sicher, dass Sie den Cluster mit dem Argument --pull-secret für az aro create erstellen.
Tipp
Das Konfigurieren der Microsoft Entra-Authentifizierung für Ihren Cluster stellt die einfachste Möglichkeit dar, mit der internen Registrierung außerhalb des Clusters zu interagieren.
Nachdem Sie ihren Cluster haben, stellen Sie eine Verbindung mit dem Cluster her , indem Sie sich als kubeadmin Benutzer authentifizieren.
Konfigurieren der Authentifizierung bei der Registrierung
Um auf die interne Registrierung zuzugreifen, müssen Sie berechtigungen innerhalb des Clusters einer beliebigen Identität erteilen, z. B. einem Clusterbenutzer, einem Microsoft Entra-Benutzer oder einem Azure Red Hat OpenShift-Dienstkonto.
Führen Sie als kubeadmin die folgenden Befehle aus:
# Note: replace "<user>" with the identity you need to access the registry
oc policy add-role-to-user -n openshift-image-registry registry-viewer <user>
oc policy add-role-to-user -n openshift-image-registry registry-editor <user>
Hinweis
Bei Clusterbenutzern und Microsoft Entra Benutzern ist dieser Name derselbe Name, den Sie für die Authentifizierung im Cluster verwenden. Formatieren Sie für Azure Red Hat OpenShift Dienstkonten den Namen als system:serviceaccount:<project>:<name>.
Zugreifen auf die Registrierung
Nachdem Sie die Authentifizierung für die Registrierung konfiguriert haben, können Sie damit interagieren. Die folgenden Abschnitte enthalten weitere Details.
Aus dem Cluster heraus
Nehmen wir an, dass Sie eine Plattform für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) als Pods betreiben, die Images an die Registry senden und von dort abrufen. Wenn Sie von innerhalb des Clusters auf die Registrierung zugreifen müssen, können Sie über den Cluster-IP-Dienst unter dem vollqualifizierten Domänennamen image-registry.openshift-image-registry.svc.cluster.local:5000auf die Registrierung zugreifen. Alle Pods innerhalb des Clusters können auf diese Registrierung zugreifen.
Von außerhalb des Clusters
Angenommen, Sie möchten Bilder von einem Laptop des Entwicklers, einer externen CI/CD-Plattform oder einem anderen Cluster übertragen und abrufen. Wenn Ihre Workflows erfordern, dass Sie von außerhalb des Clusters auf die interne Registrierung zugreifen, müssen Sie einige weitere Schritte ausführen.
Als kubeadmin führen Sie die folgenden Befehle aus, um die integrierte Registry über eine Route außerhalb des Clusters verfügbar zu machen:
oc patch config.imageregistry.operator.openshift.io/cluster --patch='{"spec":{"defaultRoute":true}}' --type=merge
oc patch config.imageregistry.operator.openshift.io/cluster --patch='[{"op": "add", "path": "/spec/disableRedirect", "value": true}]' --type=json
Anschließend finden Sie den extern routingfähigen vollqualifizierten Domänennamen der Registrierung:
Als kubeadmin führen Sie Folgendes aus:
oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'