在 OpenShift Data Foundation 上部署應用程式

為 Red Hat® OpenShift® on IBM Cloud® 群集安裝 OpenShift Data Foundation 附加元件後,您可以使用 ODF 儲存類別來建立持久卷索賠 (PVC)。 然後,請參閱部署中的 PVC,讓您的應用程式可以儲存並使用基礎 ODF 儲存裝置中的資料。

最低必要許可權
編輯者 平台存取角色及 IBM Cloud Kubernetes Service中叢集的 撰寫者 服務存取角色。

存取您的 Red Hat OpenShift 叢集

  1. 列出 ODF 儲存類別。 如需 ODF 儲存類別的相關資訊,請參閱 儲存類別參照

    oc get sc | grep openshift
    

    輸出範例

    NAME                   PROVISIONER            RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    Immediate              true                   9m19s
    ocs-storagecluster-ceph-rbd                   openshift-storage.rbd.csi.ceph.com      Delete          Immediate              false                  9m19s
    ocs-storagecluster-ceph-rgw                   openshift-storage.ceph.rook.io/bucket   Delete          Immediate              false                  18m
    ocs-storagecluster-cephfs                     openshift-storage.cephfs.csi.ceph.com   Delete          Immediate              true                   10m
    openshift-storage.noobaa.io                   openshift-storage.noobaa.io/obc         Delete          Immediate              false                  6m32s
    
  2. 建立參考您要使用的儲存類別的 PVC。 儲存並編輯下列 PVC 配置檔,以參照您要使用的儲存空間類別。 如果您使用 Hyper Protect Crypto Services 啟用了加密,則可以使用支援加密的儲存類別 ocs-storagecluster-ceph-rbd-encrypted使用 ocs-storagecluster-cephfs 儲存空間類別的 PVC 範例。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: odf-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: ocs-storagecluster-cephfs
    
  3. 在叢集裡建立 PVC。

    oc create -f <my-pvc.yaml>
    
  4. 建立 Pod 的 YAML 配置檔,以裝載您所建立的 PVC。 下列範例會建立 nginx Pod,將現行日期和時間寫入 test.txt 檔案。

    apiVersion: v1
    kind: Pod
    metadata:
      name: app
    spec:
      containers:
      - name: app
        image: nginx
        command: ["/bin/sh"]
        args: ["-c", "while true; do echo $(date -u) >> /test/test.txt; sleep 600; done"]
        volumeMounts:
        - name: persistent-storage
          mountPath: /test
      volumes:
      - name: persistent-storage
        persistentVolumeClaim:
          claimName: odf-pvc
    
  5. 在群集中建立 pod。

    oc apply -f pod.yaml
    
  6. 若要驗證 Pod 是否已部署,請等待您的應用程式進入 Running 狀態。

    oc get pods
    

    輸出範例

    NAME                                READY   STATUS    RESTARTS   AGE
    app                                 1/1     Running   0          2m58s
    
  7. 驗證應用程式可以寫入資料。

    1. 登入 Pod。
      oc exec <app-pod-name> -it -- bash
      
    2. 顯示 test.txt 檔案的內容,以確認您的應用程式可以將資料寫入持續性儲存空間。
      cat /test/test.txt
      
      輸出範例
      Tue Mar 2 20:09:19 UTC 2021
      Tue Mar 2 20:09:25 UTC 2021
      Tue Mar 2 20:09:31 UTC 2021
      Tue Mar 2 20:09:36 UTC 2021
      Tue Mar 2 20:09:42 UTC 2021
      Tue Mar 2 20:09:47 UTC 2021
      
    3. 結束 Pod。
      exit