27.5.2.2. 创建持久性卷
开发人员通过引用 PVC 或容器集规格的 volumes
部分中的 Gluster 卷插件来请求 Ceph RBD 存储。PVC 只在用户的命名空间中存在,且只能被同一命名空间中的 pod 引用。尝试从不同命名空间中访问 PV 会导致 pod 失败。
在 OpenShift Container Platform 中创建前,在对象定义中定义 PV:
例 27.3. 使用 Ceph RBD 的持久性卷对象定义
apiVersion: v1 kind: PersistentVolume metadata: name: ceph-pv 1 spec: capacity: storage: 2Gi 2 accessModes: - ReadWriteOnce 3 rbd: 4 monitors: 5 - 192.168.122.133:6789 pool: rbd image: ceph-image user: admin secretRef: name: ceph-secret 6 fsType: ext4 7 readOnly: false persistentVolumeReclaimPolicy: Retain
重要在卷被格式化并置备后,修改
fstype
参数的值会导致数据丢失和 pod 失败。将定义保存到文件中,如 ceph-pv.yaml 并创建 PV:
# oc create -f ceph-pv.yaml
验证持久性卷是否已创建:
# oc get pv NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE ceph-pv <none> 2147483648 RWO Available 2s
创建一个 PVC,它将绑定到新 PV:
将定义保存到文件中,如 ceph-claim.yaml 并创建 PVC:
# oc create -f ceph-claim.yaml