OpenShift Data Foundation에 앱 배치
Red Hat® OpenShift® on IBM Cloud® 클러스터용 OpenShift Data Foundation 추가 기능을 설치한 후 ODF 스토리지 클래스를 사용하여 지속적 볼륨 청구(PVC)를 작성할 수 있습니다. 그런 다음 앱이 기본 ODF 스토리지 디바이스의 데이터를 저장하고 사용할 수 있도록 배치에서 PVC를 참조하십시오.
- 최소 필수 권한
- 에디터 플랫폼 액세스 역할과 IBM Cloud Kubernetes Service 에서 클러스터에 대한 Writer 서비스 액세스 역할을 설정합니다.
Red Hat OpenShift 클러스터에 액세스하십시오.
-
ODF 스토리지 클래스를 나열하십시오. ODF 스토리지 클래스에 대한 자세한 정보는 스토리지 클래스 참조를 참조하십시오.
oc get sc | grep openshift출력 예
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 -
사용할 스토리지 클래스를 참조하는 PVC를 작성하십시오. 다음 PVC 구성 파일을 저장하고 편집하여 사용할 스토리지 클래스를 참조하십시오. Hyper Protect Crypto Services 로 암호화를 활성화한 경우 암호화를 지원하는 스토리지 클래스
ocs-storagecluster-ceph-rbd-encrypted를 사용할 수 있습니다.ocs-storagecluster-cephfs스토리지 클래스 사용을 위한 PVC 예.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: odf-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: ocs-storagecluster-cephfs -
클러스터에 PVC를 작성하십시오.
oc create -f <my-pvc.yaml> -
작성한 PVC를 마운트하는 팟(Pod)에 대한 YAML 구성 파일을 작성하십시오. 다음 예제에서는
nginx파일에 현재 날짜 및 시간을 쓰는test.txt팟(Pod)을 작성합니다.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 -
클러스터에서 팟(Pod)을 작성하십시오.
oc apply -f pod.yaml -
팟(Pod)이 배치되었는지 확인하려면 앱이
Running상태가 될 때까지 대기하십시오.oc get pods출력 예
NAME READY STATUS RESTARTS AGE app 1/1 Running 0 2m58s -
앱이 데이터를 쓸 수 있는지 확인하십시오.
- 팟(Pod)에 로그인하십시오.
oc exec <app-pod-name> -it -- bash test.txt파일의 컨텐츠를 표시하여 앱이 지속적 스토리지에 데이터를 쓸 수 있는지 확인하십시오.출력 예cat /test/test.txtTue 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- 팟(Pod)을 종료하십시오.
exit
- 팟(Pod)에 로그인하십시오.