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. Dowiesz się, jak:
- 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 kubeadmin
wykonaj 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:5000
domeny , 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 kubeadmin
wykonaj 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 kubeadmin
wykonaj 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).