設定 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 應用程式。