搜索

28.12. 使用现有旧存储的存储类

download PDF

28.12.1. 概述

在本例中,旧数据卷存在,cluster-adminstorage-admin 需要它可用于特定项目。使用 StorageClasses 会从声明中减少对这个卷的访问权限的其他用户和项目的可能性,因为声明必须具有与 StorageClass 名称具有完全匹配的值。这个示例还禁用动态置备。这个示例假设:

28.12.1.1. 情况 1:将 StorageClass 链接到带有旧数据的现有持久性卷

作为 cluster-adminstorage-admin,为历史财务数据定义并创建 StorageClass

例 28.23. StorageClass finance-history 对象定义

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: finance-history 1
provisioner: no-provisioning 2
parameters: 3
1
StorageClass 的名称。
2
这是必填字段,但由于没有动态置备,因此只要不是实际的置备程序插件类型,就必须在此处放置一个值。
3
参数只需留空,因为它们仅用于动态置备程序。

将定义保存到 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-adminstorage-admin 用户负责将正确的 StorageClass 名称中继到正确的用户、组和项目。

StorageClass 存在。cluster-adminstorage-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
2
StorageClass 名称,必须完全匹配。
1
已存在并包含旧数据的 GCE 磁盘名称。

作为 cluster-adminstorage-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 用于旧的数据(没有动态置备)以及 动态置备

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.