27.6.2. 置备
当存储可以被挂载为 OpenShift Container Platform 中的卷之前,它必须已存在于底层的存储系统中。确保为 AWS Elastic Block Store 配置 OpenShift 后,OpenShift 和 AWS 所需的所有内容都是 AWS EBS 卷 ID 和 PersistentVolume
API。
27.6.2.1. 创建持久性卷
您必须在对象定义中定义持久性卷,然后才能在 OpenShift Container Platform 中创建它:
例 27.5. 使用 AWS 的持久性卷对象定义
apiVersion: "v1" kind: "PersistentVolume" metadata: name: "pv0001" 1 spec: capacity: storage: "5Gi" 2 accessModes: - "ReadWriteOnce" awsElasticBlockStore: 3 fsType: "ext4" 4 volumeID: "vol-f37a03aa" 5
重要
在卷被格式化并置备后,修改 fstype
参数的值会导致数据丢失和 pod 失败。
将定义保存到文件中,如 aws-pv.yaml 并创建持久性卷:
# oc create -f aws-pv.yaml persistentvolume "pv0001" created
验证持久性卷是否已创建:
# oc get pv NAME LABELS CAPACITY ACCESSMODES STATUS CLAIM REASON AGE pv0001 <none> 5Gi RWO Available 2s
然后,用户可以使用持久性卷声明请求存储,该声明现在可以使用您的新持久性卷。
重要
持久性卷声明只在用户的命名空间中存在,且只能被同一命名空间中的 pod 引用。任何尝试从其他命名空间中访问持久性卷都会导致 pod 失败。