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 kubeadminkö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 kubeadminkö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 kubeadminkö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.