在 OpenShift Data Foundation 上部署应用程序
为 Red Hat® OpenShift® on IBM Cloud® 集群安装 OpenShift Data Foundation 附加组件后,就可以使用 ODF 存储类创建持久卷声明 (PVC)。 然后,请参阅部署中的 PVC,以便应用程序可以保存和使用底层 ODF 存储设备中的数据。
- 最低必需许可权
- IBM Cloud Kubernetes Service中集群的 编辑者 平台访问角色和 写入者 服务访问角色。
-
列出 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 配置文件。 以下示例创建将当前日期和时间写入
test.txt文件的nginxpod。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。