Konfigurowanie wbudowanego rejestru kontenerów dla usługi Azure Red Hat OpenShift 4

Usługa Azure Red Hat OpenShift udostępnia zintegrowany rejestr obrazów kontenerów, który dodaje możliwość automatycznego aprowizowania nowych repozytoriów obrazów na żądanie. Zapewnia to użytkownikom wbudowaną lokalizację kompilacji aplikacji w celu wypychania wynikowych obrazów.

W tym artykule skonfigurujesz wbudowany rejestr obrazów kontenerów dla klastra usługi Azure Red Hat OpenShift (ARO) 4. Omawiane tematy:

  • Autoryzowanie tożsamości w celu uzyskania dostępu do rejestru
  • Uzyskiwanie dostępu do wbudowanego rejestru obrazów kontenerów z poziomu klastra
  • Uzyskiwanie dostępu do wbudowanego rejestru obrazów kontenerów spoza klastra

Zanim rozpoczniesz

W tym artykule założono, że masz istniejący klaster ARO (zobacz Tworzenie klastra usługi Azure Red Hat OpenShift 4). Jeśli chcesz skonfigurować integrację z firmą Microsoft Entra, pamiętaj, aby utworzyć klaster z argumentem --pull-secret na .az aro create

Uwaga

Konfigurowanie uwierzytelniania entra firmy Microsoft dla klastra jest najprostszym sposobem interakcji z rejestrem wewnętrznym spoza klastra.

Po utworzeniu klastra połącz się z klastrem, uwierzytelniając się jako kubeadmin użytkownik.

Konfigurowanie uwierzytelniania w rejestrze

W przypadku dowolnej tożsamości (użytkownika klastra, użytkownika Microsoft Entra lub usługi ServiceAccount) w celu uzyskania dostępu do rejestru wewnętrznego należy udzielić mu uprawnień w klastrze:

Jako kubeadminwykonaj następujące polecenia:

# 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>

Uwaga

W przypadku użytkowników klastra i użytkowników usługi Microsoft Entra — będzie to taka sama nazwa, której używasz do uwierzytelniania w klastrze. W przypadku usługi OpenShift ServiceAccounts sformatuj nazwę jako system:serviceaccount:<project>:<name>

Uzyskiwanie dostępu do rejestru

Po skonfigurowaniu uwierzytelniania dla rejestru możesz z nim korzystać:

Z poziomu klastra

Jeśli musisz uzyskać dostęp do rejestru z poziomu klastra (np. używasz platformy ciągłej integracji/ciągłego wdrażania jako zasobników, które będą wypychać/ściągać obrazy do rejestru), możesz uzyskać dostęp do rejestru za pośrednictwem usługi ClusterIP w w pełni kwalifikowanej nazwy image-registry.openshift-image-registry.svc.cluster.local:5000domeny , która jest dostępna dla wszystkich zasobników w klastrze.

Z zewnątrz klastra

Jeśli przepływy pracy wymagają dostępu do rejestru wewnętrznego spoza klastra (np. chcesz wypchnąć/ściągnąć obrazy z laptopa dewelopera, zewnętrznej platformy ciągłej integracji/ciągłego wdrażania i/lub innego klastra ARO), należy wykonać kilka dodatkowych kroków:

Jako kubeadminwykonaj następujące polecenia, aby uwidocznić wbudowany rejestr poza klastrem za pośrednictwem trasy:

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

Następnie można znaleźć w pełni kwalifikowaną nazwę domeny rejestru w pełni kwalifikowaną:

Jako kubeadminwykonaj polecenie:

oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'

Następne kroki

Po skonfigurowaniu wbudowanego rejestru obrazów kontenera możesz rozpocząć od wdrożenia aplikacji w usłudze OpenShift. W przypadku aplikacji Java zapoznaj się z tematem Deploy a Java application with Open Liberty/WebSphere Liberty on an Azure Red Hat OpenShift 4 cluster (Wdrażanie aplikacji Java za pomocą biblioteki Open Liberty/WebSphere Liberty w klastrze usługi Azure Red Hat OpenShift 4).