Implementando um aplicativo no OpenShift Data Foundation
Depois de instalar o complemento do OpenShift Data Foundation para o cluster Red Hat® OpenShift® on IBM Cloud®, é possível usar as classes de armazenamento do ODF a fim de criar uma solicitação de volume persistente (PVC). Em seguida, consulte a PVC em sua implementação para que o aplicativo possa salvar e utilizar dados do dispositivo de armazenamento subjacente do ODF.
- Permissões mínimas necessárias
- A função de acesso à plataforma do editor e a função de acesso ao serviço do Writer para o cluster em IBM Cloud Kubernetes Service.
Acesse o seu Red Hat OpenShift cluster.
-
Liste as classes de armazenamento do ODF. Para obter mais informações sobre as classes de armazenamento do ODF, consulte a Referência de classe de armazenamento.
oc get sc | grep openshift
Saída de exemplo
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
-
Crie uma PVC que se refira à classe de armazenamento que você deseja usar. Salve e edite o arquivo de configuração de PVC a seguir para se referir à classe de armazenamento que você deseja usar. Se você ativou a criptografia com o Hyper Protect Crypto Services, poderá usar a classe de armazenamento
ocs-storagecluster-ceph-rbd-encrypted
que suporta criptografia. Exemplo de PVC para usar a classe de armazenamentoocs-storagecluster-cephfs
.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: odf-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: ocs-storagecluster-cephfs
-
Crie o PVC em seu cluster.
oc create -f <my-pvc.yaml>
-
Crie um arquivo de configuração YAML para um pod que monta o PVC que você criou. O exemplo a seguir cria um pod
nginx
que grava a data e o horário atuais em um arquivotest.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
-
Crie o pod em seu cluster.
oc apply -f pod.yaml
-
Para verificar se o pod está implementado, aguarde seu app entrar em um status
Running
.oc get pods
Saída de exemplo
NAME READY STATUS RESTARTS AGE app 1/1 Running 0 2m58s
-
Verifique se o aplicativo pode gravar dados.
- Efetue login em seu pod.
oc exec <app-pod-name> -it -- bash
- Exiba o conteúdo do arquivo
test.txt
para confirmar se o seu app pode gravar dados em seu armazenamento persistente.
Saída de exemplocat /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
- Saia do pod.
exit
- Efetue login em seu pod.