Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Red Hat OpenShift udostępnia zintegrowany rejestr obrazów kontenerów, dzięki czemu można automatycznie aprowizować nowe repozytoria obrazów na żądanie. Korzystając z tego rejestru, zyskujesz wbudowane miejsce, do którego kompilacje aplikacji mogą wypychać utworzone obrazy.
W tym artykule skonfigurujesz wbudowany rejestr obrazów kontenerów dla klastra Azure Red Hat OpenShift 4. Uczysz 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 (zobacz Tworzenie klastra usługi Azure Red Hat OpenShift 4). Jeśli chcesz skonfigurować integrację Microsoft Entra, pamiętaj o utworzeniu klastra z argumentem --pull-secret na az aro create.
Tip
Konfigurowanie uwierzytelniania Microsoft Entra dla klastra to najłatwiejszy sposób na korzystanie z rejestru wewnętrznego spoza klastra.
Gdy masz już klaster, połącz się z klastrem, uwierzytelniając się jako użytkownik kubeadmin.
Konfigurowanie uwierzytelniania w rejestrze
Aby uzyskać dostęp do rejestru wewnętrznego, musisz udzielić uprawnień w klastrze do dowolnej tożsamości, takiej jak użytkownik klastra, użytkownik Microsoft Entra lub konto usługi Azure Red Hat OpenShift.
Jako kubeadminuruchom 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 / Notatka
W przypadku użytkowników klastra i użytkowników Microsoft Entra ta nazwa jest taka sama jak nazwa, której używasz do uwierzytelniania się w klastrze. W przypadku kont usługi Azure Red Hat OpenShift należy sformatować nazwę jako system:serviceaccount:<project>:<name>.
Uzyskiwanie dostępu do rejestru
Po skonfigurowaniu uwierzytelniania dla rejestru można z nim korzystać. Poniższe sekcje zawierają więcej szczegółów.
Z wnętrza klastra
Załóżmy, że uruchamiasz platformę ciągłej integracji i ciągłego dostarczania (CI/CD) w postaci podów, które wysyłają obrazy do rejestru i pobierają je z niego. Jeśli musisz uzyskać dostęp do rejestru z poziomu klastra, możesz uzyskać dostęp do rejestru za pośrednictwem jego usługi adresów IP klastra pod w pełni kwalifikowaną nazwą image-registry.openshift-image-registry.svc.cluster.local:5000domeny. Wszystkie zasobniki w klastrze mają dostęp do tego rejestru.
Spoza klastra
Załóżmy, że chcesz wypychać i pobierać obrazy z laptopa dewelopera, zewnętrznej platformy CI/CD lub innego klastra. Jeśli przepływy pracy wymagają dostępu do rejestru wewnętrznego spoza klastra, należy wykonać kilka kolejnych kroków.
Jako kubeadminuruchom 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 dostępną z zewnątrz:
Jako kubeadmin uruchom:
oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'