4.7. 使用 GCE Persistent Disk 的持久性存储
OpenShift Container Platform 支持 GCE Persistent Disk 卷 (gcePD)。您可以使用 GCE 为 OpenShift Container Platform 集群置备持久性存储。我们假设您对 Kubernetes 和 GCE 有一定的了解。
Kubernetes 持久性卷框架允许管理员提供带有持久性存储的集群,并使用户可以在不了解底层存储架构的情况下请求这些资源。
GCE Persistent Disk 卷可以动态部署。
持久性卷不与某个特定项目或命名空间相关联,它们可以在 OpenShift Container Platform 集群间共享。持久性卷声明是针对某个项目或者命名空间的,相应的用户可请求它。
OpenShift Container Platform 默认使用 in-tree(非 CSI)插件来置备 gcePD 存储。
在以后的 OpenShift Container Platform 版本中,计划使用现有树内插件置备的卷迁移到对应的 CSI 驱动程序。CSI 自动迁移应该可以无缝进行。迁移不会改变您使用所有现有 API 对象的方式,如持久性卷、持久性卷声明和存储类。有关迁移的更多信息,请参阅 CSI 自动迁移。
完全迁移后,未来的 OpenShift Container Platform 版本将最终删除树内插件。
存储的高可用性功能由底层的存储架构提供。
其他资源
4.7.1. 创建 GCE 存储类
存储类用于区分和划分存储级别和使用。通过定义存储类,用户可以获得动态置备的持久性卷。
流程
- 在 OpenShift Container Platform 控制台中点击 Storage→ Storage Classes。
- 在存储类概述中,点击 Create Storage Class。
在出现的页面中定义所需选项。
- 输入一个名称来指代存储类。
- 输入描述信息(可选)。
- 选择 reclaim 策略。
-
从下拉列表中选择
kubernetes.io/gce-pd
。 - 根据需要为存储类输入附加参数。
- 点 Create 创建存储类。
4.7.2. 创建持久性卷声明
先决条件
当存储可以被挂载为 OpenShift Container Platform 中的卷之前,它必须已存在于底层的存储系统中。
流程
-
在 OpenShift Container Platform 控制台中,点击 Storage
Persistent Volume Claims。 - 在持久性卷声明概述页中,点 Create Persistent Volume Claim。
在出现的页面中定义所需选项。
- 从下拉菜单中选择之前创建的存储类。
- 输入存储声明的唯一名称。
- 选择访问模式。这决定了所创建存储声明的读写权限。
- 定义存储声明的大小。
- 点击 Create 创建持久性卷声明,并生成一个持久性卷。
4.7.3. 卷格式
在 OpenShift Container Platform 挂载卷并将其传递给容器之前,它会检查它是否包含由 fstype
参数指定的文件系统。如果没有使用文件系统格式化该设备,该设备中的所有数据都会被删除,并使用指定的文件系统自动格式化该设备。
这将可以使用未格式化的 GCE 卷作为持久性卷,因为 OpenShift Container Platform 在第一次使用前会对其进行格式化。