啟用 OpenShift 內部映像檔登錄

Image Registry Operator 會安裝 OpenShift Container Platform 登錄的單一實例,並管理所有登錄配置,包括設定登錄儲存體。 只有在 AWS、GCP 及 Azure上安裝安裝程式供應的基礎架構叢集時,才會自動配置儲存體,因此您可以直接使用內部映像檔登錄。 但是對於裸機和 vSphere OpenShift 叢集,您必須手動啟用 OpenShift 內部映像檔登錄,以便 Maximo® Application Suite 和應用程式將使用它。

您可以使用 Bastion Server 中的 NFS 儲存空間,或使用現有的 OpenShift Container Storage ,來啟用 OpenShift 內部映像檔登錄。

在防禦伺服器中使用 NFS 儲存空間來啟用 OpenShift 內部映像檔登錄

如果您在防禦伺服器中設定 NFS 伺服器,則可以在防禦伺服器中執行下列步驟,並針對內部映像檔登錄使用 NFS 檔案系統。

程序

  1. 建立資料夾以作為 NFS 儲存體。
    
    mkdir /didk1/nfs/image-registry&& chmod 777 /disk1/nfs/image-registry/
    
  2. 修改 /etc/exports 並新增下列行,以將資料夾匯出至相同子網路中的所有工作者/主要節點。
    
    /disk1/nfs/image-registry10.176.245.0/24(rw,no_subtree_check,sync,no_wdelay,insecure,no_root_squash)
    
  3. 重新啟動 nfs 以讓 NFS 資料夾生效。
    
    systemctl restart nfs-server
    
  4. 建立 image-storage.yaml 檔案,以使用 NFS 資料夾手動建立 PV 及 PVC。
    
    ---
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: image-registry-pv
    spec:
      capacity:
        storage: 500Gi
      claimRef:
        apiVersion: v1
        kind: PersistentVolumeClaim
        name: image-registry-storage
        namespace: openshift-image-registry
      accessModes:
      - ReadWriteMany
      nfs:
        path: /disk1/nfs/image-registry
        server: 10.176.245.2
      persistentVolumeReclaimPolicy: Retain
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      finalizers:
      - kubernetes.io/pvc-protection
      name: image-registry-storage
      namespace: openshift-image-registry
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 500Gi
    
  5. 將 PV 及 PVC 套用至 OCP 叢集。
    
    oc apply -f image-storage.yaml
    
  6. 使用下列指令更新登錄 CR 規格。
    
    oc edit configs.imageregistry.operator.openshift.io -n openshift-image-registry
    
  7. spec.managementStateRemoved 變更為 Managed
  8. spec.storage{} 變更為:
    
    spec:
        managementState: Managed
    storage:
          pvc:
            claim: image-registry-storage
    
  9. 儲存並退出。
  10. 檢查映像檔登錄是否可用。
    
    oc get co image-registry
    
  11. 啟用外部路徑。
    
    oc -n openshift-image-registry patch configs.imageregistry.operator.openshift.io/cluster 
     --patch '{"spec":{"defaultRoute":true}}' --type=merge
    

使用現有 OpenShift Container Storage 來啟用 OpenShift 內部映像檔登錄

如果您已在 Red Hat OpenShift Container Platform內執行 Red Hat OpenShift Container Storage 4 ,則可以在防禦伺服器中執行下列步驟,並將 OCS 儲存體用於內部映像檔登錄。

程序

  1. 建立 PVC 以供內部登錄使用。
    
    oc project openshift-image-registry
    
    
    oc create -f <(echo '{
       "apiVersion": "v1",
       "kind": "PersistentVolumeClaim",
       "metadata": {
         "name": "image-registry-storage"
       },
       "spec": {
         "storageClassName": "ocs-storagecluster-cephfs",
         "accessModes": [ "ReadWriteMany" ],
         "resources": {
           "requests": { "storage": "500Gi"
         }
       }
     }
    }');
    
  2. 使用下列指令更新登錄 CR 規格:
    
    oc edit configs.imageregistry.operator.openshift.io -n openshift-image-registry
    
  3. spec.managementStateRemoved 變更為 Managed
  4. spec.storage{} 變更為:
    
    spec:
        managementState: Managed
    storage:
          pvc:
            claim: image-registry-storage
    
  5. 儲存並退出。
  6. 檢查映像檔登錄是否可用。
    
    oc get co image-registry
    
  7. 啟用外部路徑。
    
    oc -n openshift-image-registry patch configs.imageregistry.operator.openshift.io/cluster 
     --patch '{"spec":{"defaultRoute":true}}' --type=merge