克隆 PVC
PVC 克隆会创建一个新的 PersistentVolumeClaim (PVC),并复制现有 PVC 中的数据。当应用需要一份独立的可写数据副本时,请使用克隆,例如要基于现有应用数据准备测试环境。
克隆直接从源 PVC 创建。相比之下,卷快照会在某个时间点捕获 PVC,并可保留或稍后用于创建 PVC。当你需要直接副本时,请选择克隆;当你需要可恢复的时间点副本时,请选择卷快照。
ACP 目前不提供用于克隆 PVC 的 UI。请通过应用带有 kubectl 的 YAML 清单来创建克隆后的 PVC。
前提条件
- 仅支持动态供应的 PVC,且其 CSI driver 支持克隆。静态供应不支持 PVC 克隆。
- 源 PVC 处于
Bound阶段且未被使用。 - 源 PVC 和目标 PVC 位于同一 namespace 中。
- 目标 PVC 请求的存储容量至少与源 PVC 的容量相同。
- 源 PVC 和目标 PVC 使用相同的 volume mode。目标 access mode 必须受其 storage class 和 CSI driver 支持。
ACP 存储支持
仅当 CSI driver 和后端存储支持从源卷克隆到该 storage class 时,目标 PVC 才可以使用不同的 storage class。Kubernetes 不会验证此后端兼容性。
有关创建源 PVC 的信息,请参阅创建 PVC。
创建克隆后的 PVC
创建一个名为 clone-pvc.yaml 的清单。请将 namespace、storage class、access mode、volume mode、capacity 和 PVC 名称替换为存储驱动支持的值。在选择目标 storage class 之前,请参阅ACP 存储支持。
应用该清单:
验证克隆
检查目标 PVC 的状态:
当 STATUS 列显示 Bound 时,表示存储驱动已对克隆卷完成供给并绑定。随后,你可以在工作负载中挂载 cloned-pvc,并验证是否能够访问预期的源数据。
检查 PVC 事件以排查供给或克隆错误:
如果 PVC 仍然处于 Pending,或者创建失败,请查看此命令输出的事件。确认所选 storage class 支持 PVC 克隆,并且源 PVC、namespace、请求容量、volume mode 和 access mode 都满足前提条件。