28.12. 使用现有旧存储的存储类
28.12.1. 概述
在本例中,旧数据卷存在,cluster-admin
或 storage-admin
需要它可用于特定项目。使用 StorageClasses 会从声明中减少对这个卷的访问权限的其他用户和项目的可能性,因为声明必须具有与 StorageClass 名称具有完全匹配的值。这个示例还禁用动态置备。这个示例假设:
- 熟悉 OpenShift Container Platform、GCE 和 Persistent Disks
- OpenShift Container Platform 正确配置为使用 GCE。
28.12.1.1. 情况 1:将 StorageClass 链接到带有旧数据的现有持久性卷
作为 cluster-admin
或 storage-admin
,为历史财务数据定义并创建 StorageClass。
例 28.23. StorageClass finance-history 对象定义
将定义保存到 YAML 文件(finance-history-storageclass.yaml
)并创建 StorageClass。
# oc create -f finance-history-storageclass.yaml storageclass "finance-history" created # oc get storageclass NAME TYPE finance-history no-provisioning
cluster-admin
或 storage-admin
用户负责将正确的 StorageClass 名称中继到正确的用户、组和项目。
StorageClass 存在。cluster-admin
或 storage-admin
可以创建用于 StorageClass 的持久性卷 (PV)。使用 GCE (未动态置备)创建一个手动置备的磁盘,以及一个连接到新的 GCE 磁盘(gce-pv.yaml
)的持久性卷。
例 28.24. 财务历史 PV 对象
apiVersion: v1 kind: PersistentVolume metadata: name: pv-finance-history spec: capacity: storage: 35Gi accessModes: - ReadWriteMany gcePersistentDisk: readOnly: false pdName: the-existing-PD-volume-name-that-contains-the-valuable-data 1 fsType: ext4 storageClassName: finance-history 2
作为 cluster-admin
或 storage-admin
,创建并查看 PV。
# oc create -f gce-pv.yaml persistentvolume "pv-finance-history" created # oc get pv NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE pv-finance-history 35Gi RWX Retain Available 2d
请注意,您有一个 pv-finance-history
可用并可供使用。
以用户身份,创建一个持久性卷声明(PVC)作为 YAML 文件并指定正确的 StorageClass 名称:
例 28.25. 对 finance-history 对象定义的声明
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-finance-history
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 20Gi
storageClassName: finance-history 1
- 1
- 在创建了与名称匹配的 StorageClass 名称,必须完全匹配或声明不绑定,直到其被删除或另一个 StorageClass 被创建。
创建并查看 PVC 和 PV 以查看它是否已绑定。
# oc create -f pvc-finance-history.yaml persistentvolumeclaim "pvc-finance-history" created # oc get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES AGE pvc-finance-history Bound pv-finance-history 35Gi RWX 9m # oc get pv (cluster/storage-admin) NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM REASON AGE pv-finance-history 35Gi RWX Retain Bound default/pvc-finance-history 5m
您可以将同一集群中的 StorageClasses 用于旧的数据(没有动态置备)以及 动态置备。