Konfigurieren der integrierten Containerregistrierung für Azure Red Hat OpenShift 4
Azure Red Hat OpenShift bietet eine integrierte Containerimageregistrierung, die die Möglichkeit hinzufügt, neue Imagerepositorys bei Bedarf automatisch bereitzustellen. So erhalten Benutzer einen integrierten Speicherort, in den ihre Anwendungsbuilds die resultierenden Images per Push übertragen können.
In diesem Artikel konfigurieren Sie die integrierte Containerimageregistrierung für einen Azure Red Hat OpenShift 4-Cluster (ARO). Sie lernen Folgendes:
- 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
Voraussetzungen
In diesem Artikel wird davon ausgegangen, dass Sie über einen ARO-Cluster verfügen. (Weitere Informationen finden Sie unter Erstellen eines Azure Red Hat OpenShift 4-Cluster.) Wenn Sie die Microsoft Entra-Integration konfigurieren möchten, müssen Sie den Cluster mit dem --pull-secret
-Argument mit dem Wert az aro create
erstellen.
Hinweis
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.
Wenn Sie über Ihren Cluster verfügen, stellen Sie eine Verbindung mit dem Cluster her, indem Sie sich als der Benutzer kubeadmin
authentifizieren.
Konfigurieren der Authentifizierung bei der Registrierung
Jede Identität (Clusterbenutzer*in, Microsoft Entra-Benutzer*in oder ServiceAccount) benötigt für den Zugriff auf die interne Registrierung Berechtigungen innerhalb des Clusters:
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
Für Clusterbenutzer*innen und Microsoft Entra-Benutzer*innen ist dies derselbe Name, den Sie für die Authentifizierung im Cluster verwenden. Bei OpenShift-ServiceAccounts muss der Name das Format system:serviceaccount:<project>:<name>
aufweisen.
Zugreifen auf die Registrierung
Nachdem Sie die Authentifizierung für die Registrierung konfiguriert haben, können Sie damit interagieren:
Innerhalb des Clusters
Wenn Sie innerhalb des Clusters auf die Registrierung zugreifen müssen (da Sie z. B. eine CI/CD-Plattform als Pods ausführen, die Images in der Registrierung pushen/pullen), können Sie über den ClusterIP-Dienst über den vollqualifizierten Domänennamen image-registry.openshift-image-registry.svc.cluster.local:5000
auf die Registrierung zugreifen, auf die alle Pods innerhalb des Clusters Zugriff haben.
Außerhalb des Clusters
Wenn Ihre Workflows Zugriff auf die interne Registrierung außerhalb des Clusters benötigen (Sie möchten z. B. Images von einem Entwicklungslaptop, einer externen CI/CD-Plattform und/oder einem anderen ARO-Cluster pushen/pullen), müssen Sie einige zusätzliche Schritte ausführen:
Führen Sie als kubeadmin
die folgenden Befehle aus, um die integrierte Registrierung außerhalb des Clusters über eine Route 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 können Sie den routingfähigen vollqualifizierten Domänennamen der Registrierung suchen:
Führen Sie als kubeadmin
Folgendes aus:
oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'
Nächste Schritte
Nachdem Sie die integrierte Containerimageregistrierung eingerichtet haben, können Sie mit der Bereitstellung einer Anwendung in OpenShift beginnen. Informationen für Java-Anwendungen finden Sie unter Bereitstellen einer Java-Anwendung mit Open Liberty/WebSphere Liberty in Azure Red Hat OpenShift 4-Clustern.