Distribuzione di un'applicazione su OpenShift Data Foundation

Dopo aver installato il componente aggiuntivo OpenShift Data Foundation per il cluster Red Hat® OpenShift® on IBM Cloud®, è possibile utilizzare le classi di archiviazione ODF per creare una rivendicazione di volume persistente (PVC). Quindi, fai riferimento alla PVC nella tua distribuzione in modo che la tua applicazione possa salvare e utilizzare i dati dal dispositivo di archiviazione ODF sottostante.

Autorizzazioni minime richieste
Il ruolo di accesso della piattaforma Editor e il ruolo di accesso del servizio Writer per il cluster in IBM Cloud Kubernetes Service.

Accedi al tuo cluster Red Hat OpenShift.

  1. Elenca le classi di memoria ODF. Per ulteriori informazioni sulle classi di memoria ODF, consultare Riferimento classe di memoria.

    oc get sc | grep openshift
    

    Output di esempio

    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. Creare un PVC che faccia riferimento alla classe di archiviazione che si desidera utilizzare. Salva e modifica il seguente file di configurazione PVC per fare riferimento alla classe di memoria che vuoi utilizzare. Se si è attivata la crittografia con Hyper Protect Crypto Services, è possibile utilizzare la classe di archiviazione ocs-storagecluster-ceph-rbd-encrypted, che supporta la crittografia. PVC di esempio per l'utilizzo della classe di archiviazione di ocs-storagecluster-cephfs

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: odf-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: ocs-storagecluster-cephfs
    
  3. Crea la PVC nel tuo cluster.

    oc create -f <my-pvc.yaml>
    
  4. Creare un file di configurazione YAML per un pod che monti il PVC creato. Il seguente esempio crea un pod nginx che scrive la data e l'ora correnti in un file 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. Creare il pod nel cluster.

    oc apply -f pod.yaml
    
  6. Per verificare che il pod sia distribuito, attendi che la tua applicazione entri in uno stato Running.

    oc get pods
    

    Output di esempio

    NAME                                READY   STATUS    RESTARTS   AGE
    app                                 1/1     Running   0          2m58s
    
  7. Verifica che l'applicazione possa scrivere i dati.

    1. Accedi al tuo pod.
      oc exec <app-pod-name> -it -- bash
      
    2. Visualizza il contenuto del file test.txt per confermare che la tua applicazione può scrivere i dati nella tua archiviazione persistente.
      cat /test/test.txt
      
      Output di esempio
      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. Esci dal pod.
      exit