App auf der OpenShift Data Foundation implementieren

Nachdem Sie das Add-on für die OpenShift Data Foundation für Ihren Red Hat® OpenShift® on IBM Cloud®-Cluster installiert haben, können Sie die ODF-Speicherklassen verwenden, um einen Persistent Volume Claim (PVC) zu erstellen. Beziehen Sie sich dann auf den PVC in Ihrer Bereitstellung, damit Ihre App Daten aus dem zugrunde liegenden ODF-Speichergerät speichern und verwenden kann.

Erforderliche Mindestberechtigungen
Editor-Plattform-Zugriffsrolle und die Writer-Service-Zugriffsrolle für den Cluster in IBM Cloud Kubernetes Service.

Rufen Sie Ihren Red Hat OpenShift-Cluster auf.

  1. Führen Sie die ODF-Speicherklassen auf. Weitere Informationen zu ODF-Speicherklassen finden Sie in der Speicherklassenreferenz.

    oc get sc | grep openshift
    

    Beispielausgabe

    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. Erstellen Sie einen PVC, der auf die Speicherklasse verweist, die Sie verwenden wollen. Speichern und bearbeiten Sie die folgende PVC-Konfigurationsdatei so, dass auf die Speicherklasse verwiesen wird, die Sie verwenden wollen. Wenn Sie die Verschlüsselung mit Hyper Protect Crypto Services aktiviert haben, können Sie die Speicherklasse ocs-storagecluster-ceph-rbd-encrypted verwenden, die Verschlüsselung unterstützt. Beispiel-PVC zur Verwendung der Speicherklasse ocs-storagecluster-cephfs.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: odf-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: ocs-storagecluster-cephfs
    
  3. Erstellen Sie die PVC in Ihrem Cluster.

    oc create -f <my-pvc.yaml>
    
  4. Erstellen Sie eine YAML-Konfigurationsdatei für einen Pod, an den der von Ihnen erstellte PVC angehängt wird. Im folgenden Beispiel wird ein nginx-Pod erstellt, der das aktuelle Datum und die aktuelle Uhrzeit in eine Datei namens test.txt schreibt.

    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. Erstellen Sie den Pod in Ihrem Cluster.

    oc apply -f pod.yaml
    
  6. Um zu überprüfen, ob der Pod bereitgestellt wird, warten Sie, bis Ihre App in den Status Running versetzt wird.

    oc get pods
    

    Beispielausgabe

    NAME                                READY   STATUS    RESTARTS   AGE
    app                                 1/1     Running   0          2m58s
    
  7. Stellen Sie sicher, dass die App Daten schreiben kann.

    1. Melden Sie sich bei Ihrem Pod an.
      oc exec <app-pod-name> -it -- bash
      
    2. Zeigen Sie den Inhalt der Datei test.txt an, um sich zu vergewissern, dass Ihre App Daten auf Ihren persistenten Speicher schreiben kann.
      cat /test/test.txt
      
      Beispielausgabe
      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. Verlassen Sie den Pod.
      exit