設定 Azure Red Hat OpenShift 4 的內建容器登錄
Azure Red Hat OpenShift 提供 整合式容器映射登錄 ,可讓您視需要自動布建新的映射存放庫。 這會為使用者提供應用程式組建的內建位置,以推送產生的映射。
在本文中,您將設定 Azure Red Hat OpenShift (ARO) 4 叢集的內建容器映射登錄。 您將學習如何:
- 授權身分識別存取登錄
- 從叢集內部存取內建容器映射登錄
- 從叢集外部存取內建容器映射登錄
開始之前
本文假設您有現有的 ARO 叢集(請參閱 建立 Azure Red Hat OpenShift 4 叢集 )。 如果您想要設定 Microsoft Entra 整合,請務必使用 的 引數 az aro create
建立叢集 --pull-secret
。
注意
設定叢集的 Microsoft Entra 驗證 是與叢集外部內部登錄互動的最簡單方式。
擁有叢集之後, 請以使用者身 kubeadmin
分驗證來連線到叢集 。
設定登錄的驗證
若要讓任何身分識別(叢集使用者、Microsoft Entra 使用者或 ServiceAccount)存取內部登錄,則必須在叢集內授與許可權:
身為 kubeadmin
,執行下列命令:
# 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>
注意
針對叢集使用者和 Microsoft Entra 使用者 - 這與您用來向叢集進行驗證的名稱相同。 針對 OpenShift ServiceAccounts,將名稱格式化為 system:serviceaccount:<project>:<name>
存取登錄
現在您已設定登錄的驗證,您可以與其互動:
從叢集內部
如果您需要從叢集內部存取登錄(例如,您是以將映射推送/提取至登錄的 Pod 身分執行 CI/CD 平臺),您可以在叢集內的完整功能變數名稱上透過叢 集 IP 服務 存取登錄,而此名稱 image-registry.openshift-image-registry.svc.cluster.local:5000
可供叢集中的所有 Pod 存取。
從叢集外部
如果您的工作流程需要從叢集外部存取內部登錄(例如您想要從開發人員的膝上型電腦、外部 CI/CD 平臺和/或不同的 ARO 叢集推送/提取映射),您必須執行一些額外的步驟:
如同 kubeadmin
,請執行下列命令,透過 Route 在叢集外部公開內建登錄:
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
然後,您可以找到登錄的外部可路由完整功能變數名稱:
執行時 kubeadmin
:
oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'
下一步
既然您已設定內建的容器映射登錄,即可開始在 OpenShift 上部署應用程式。 針對 JAVA 應用程式,請參閱 在 Azure Red Hat OpenShift 4 叢集 上使用 Open Liberty/WebSphere Liberty 部署 JAVA 應用程式。