Despliegue de una aplicación en OpenShift Data Foundation
Después de instalar el complemento OpenShift Data Foundation para el clúster Red Hat® OpenShift® on IBM Cloud®, puede utilizar las clases de almacenamiento de ODF para crear una reclamación de volumen persistente (PVC). A continuación, consulte la PVC en el despliegue para que la app pueda guardar y utilizar datos del dispositivo de almacenamiento de ODF subyacente.
- Permisos mínimos necesarios
- Rol de acceso a la plataforma del editor y rol de acceso al servicio del escritor para el clúster en IBM Cloud Kubernetes Service.
Acceda al clúster de Red Hat OpenShift.
-
Liste las clases de almacenamiento de ODF. Para obtener más información sobre las clases de almacenamiento de ODF, consulte la Referencia de clase de almacenamiento.
oc get sc | grep openshift
Salida de ejemplo
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
-
Cree una PVC que haga referencia a la clase de almacenamiento que desea utilizar. Guarde y edite el siguiente archivo de configuración de PVC para que haga referencia a la clase de almacenamiento que desea utilizar. Si ha habilitado el cifrado con Hyper Protect Crypto Services, puede utilizar la clase de almacenamiento
ocs-storagecluster-ceph-rbd-encrypted
que da soporte al cifrado. PVC de ejemplo para utilizar la clase de almacenamientoocs-storagecluster-cephfs
.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: odf-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: ocs-storagecluster-cephfs
-
Cree la PVC en el clúster.
oc create -f <my-pvc.yaml>
-
Cree un archivo de configuración de YAML para un pod que monte la PVC que ha creado. El siguiente ejemplo crea un pod
nginx
que escribe la fecha y hora actual en un archivotest.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
-
Cree el pod en el clúster.
oc apply -f pod.yaml
-
Para verificar que el pod está desplegado, espere a que la app pase al estado
Running
.oc get pods
Salida de ejemplo
NAME READY STATUS RESTARTS AGE app 1/1 Running 0 2m58s
-
Verifique que la app puede escribir datos.
- Inicie una sesión en el pod.
oc exec <app-pod-name> -it -- bash
- Visualice el contenido del archivo
test.txt
para confirmar que la app puede escribir datos en el almacenamiento persistente.
Salida de ejemplocat /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
- Salga del pod.
exit
- Inicie una sesión en el pod.