Konfigurera det inbyggda containerregistret för Azure Red Hat OpenShift 4
Azure Red Hat OpenShift tillhandahåller ett integrerat containeravbildningsregister som lägger till möjligheten att automatiskt etablera nya avbildningsdatabaser på begäran. Detta ger användarna en inbyggd plats för sina programversioner för att push-överföra de resulterande avbildningarna.
I den här artikeln konfigurerar du det inbyggda containeravbildningsregistret för ett Azure Red Hat OpenShift(ARO) 4-kluster. Du lär dig följande:
- Auktorisera en identitet för åtkomst till registret
- Få åtkomst till det inbyggda containeravbildningsregistret inifrån klustret
- Få åtkomst till det inbyggda containeravbildningsregistret utanför klustret
Innan du börjar
Den här artikeln förutsätter att du har ett befintligt ARO-kluster (se Skapa ett Azure Red Hat OpenShift 4-kluster). Om du vill konfigurera Microsoft Entra-integrering måste du skapa klustret med --pull-secret
argumentet till az aro create
.
Kommentar
Att konfigurera Microsoft Entra-autentisering för klustret är det enklaste sättet att interagera med det interna registret utanför klustret.
När du har klustret ansluter du till klustret genom att autentisera kubeadmin
som användare.
Konfigurera autentisering till registret
För att en identitet (en klusteranvändare, Microsoft Entra-användare eller ServiceAccount) ska få åtkomst till det interna registret måste den beviljas behörigheter i klustret:
Som kubeadmin
kör du följande kommandon:
# 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>
Kommentar
För klusteranvändare och Microsoft Entra-användare – det här är samma namn som du använder för att autentisera till klustret. För OpenShift ServiceAccounts formaterar du namnet som system:serviceaccount:<project>:<name>
Få åtkomst till registret
Nu när du har konfigurerat autentisering för registret kan du interagera med det:
Inifrån klustret
Om du behöver komma åt registret inifrån klustret (t.ex. du kör en CI/CD-plattform som poddar som skickar/hämtar avbildningar till registret) kan du komma åt registret via dess ClusterIP-tjänst med det fullständigt kvalificerade domännamnet image-registry.openshift-image-registry.svc.cluster.local:5000
, som är tillgängligt för alla poddar i klustret.
Utanför klustret
Om dina arbetsflöden kräver att du kommer åt det interna registret utanför klustret (t.ex. vill du push-överföra/hämta avbildningar från en utvecklares bärbara dator, extern CI/CD-plattform och/eller ett annat ARO-kluster) måste du utföra några ytterligare steg:
Som kubeadmin
kör du följande kommandon för att exponera det inbyggda registret utanför klustret via en Väg:
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
Du kan sedan hitta registrets externt dirigerbara fullständigt kvalificerade domännamn:
Som kubeadmin
kör du:
oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'
Nästa steg
Nu när du har konfigurerat det inbyggda containeravbildningsregistret kan du komma igång genom att distribuera ett program på OpenShift. För Java-program kan du titta på Distribuera ett Java-program med Open Liberty/WebSphere Liberty i ett Azure Red Hat OpenShift 4-kluster.