IBM Cloud Docs
Déploiement d'une application sur OpenShift Data Foundation

Déploiement d'une application sur OpenShift Data Foundation

Après avoir installé le module complémentaire OpenShift Data Foundation pour votre cluster Red Hat® OpenShift® on IBM Cloud®, vous pouvez utiliser les classes de stockage ODF pour créer une réservation de volume persistant (PVC). Faites ensuite référence à la réservation de volume persistant (PVC) de votre déploiement pour que votre application puisse sauvegarder et utiliser les données de l'unité de stockage ODF sous-jacente.

Droits minimaux requis
Le rôle d'accès à la plateforme de l'éditeur et le rôle d'accès au service Writer pour le cluster dans IBM Cloud Kubernetes Service

Accédez à votre cluster Red Hat OpenShift.

  1. Affichez la liste des classes de stockage ODF. Pour plus d'informations sur les classes de stockage ODF, voir les informations de référence des classes de stockage.

    oc get sc | grep openshift
    

    Exemple de sortie

    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. Créez un PVC qui fait référence à la classe de stockage que vous souhaitez utiliser. Sauvegardez et éditez le fichier de configuration de PVC ci-après pour faire référence à la classe de stockage que vous souhaitez utiliser. Si vous avez activé le chiffrement avec Hyper Protect Crypto Services, vous pouvez utiliser la classe de stockage ocs-storagecluster-ceph-rbd-encryptedqui prend en charge le chiffrement. Exemple de PVC pour l'utilisation de la classe de stockage ocs-storagecluster-cephfs.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: odf-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 10Gi
      storageClassName: ocs-storagecluster-cephfs
    
  3. Créez la PVC dans votre cluster.

    oc create -f <my-pvc.yaml>
    
  4. Créez un fichier de configuration YAML pour un pod qui monte la réservation de volume persistant que vous avez créée. L'exemple suivant crée un pod nginx qui écrit la date et l'heure actuelles dans un fichier 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. Créez le pod dans votre cluster.

    oc apply -f pod.yaml
    
  6. Pour vérifier que le pod est déployé, patientez jusqu'à ce que votre application passe à l'état Running.

    oc get pods
    

    Exemple de sortie

    NAME                                READY   STATUS    RESTARTS   AGE
    app                                 1/1     Running   0          2m58s
    
  7. Vérifiez que l'application peut écrire des données.

    1. Connectez-vous à votre pod.
      oc exec <app-pod-name> -it -- bash
      
    2. Affichez le contenu du fichier test.txt pour confirmer que votre application peut écrire des données dans votre stockage de persistance.
      cat /test/test.txt
      
      Exemple de sortie
      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. Quittez le pod.
      exit