為何無法從 VPC 網路外部將映像檔推送至內部登錄?

基礎架構提供者及適用版本:

  • VPC
  • Red Hat OpenShift 4.4 或更新版本

當您嘗試將容器映像檔推送至內部 Red Hat OpenShift 容器映像檔登錄時,推送失敗,並出現類似於下列內容的訊息。

dial tcp 161.26.0.28:443: connect: network is unreachable

Red Hat OpenShift on IBM Cloud 在 VPC 基礎結構提供者上執行的群集使用 IBM Cloud Object Storage 來儲存群集內部容器註冊處的資料。 預設情況下,只能從 VPC 實體內部存取 Object Storage 端點。 因此,當外部處理程序 (例如本端機器或 CI/CD 管線) 嘗試從 VPC 外部將容器映像檔推送至內部登錄時,映像檔推送失敗。

修改內部映像檔登錄操作器的自訂資源,以透過內部登錄 Pod 將 Proxy 儲存器映像檔資料流量傳送至直接 Object Storage 端點。

執行下列指令修補 configs.imageregistry.operator.openshift.io/cluster 資源,將 disableRedirect 屬性設定為 true

oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"disableRedirect":true}}' --type=merge