创建 PVC

创建一个 PersistentVolumeClaim(PVC),并根据需要设置所请求的 PersistentVolume(PV)参数。

您可以通过可视化 UI 表单或使用自定义 YAML 编排文件来创建 PersistentVolumeClaim。

前提条件

请确保命名空间中剩余的 storage 配额足够,以满足本次创建操作所需的存储大小。

示例 PersistentVolumeClaim:

# example-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: example-pvc
  namespace: k-1
  annotations: {}
  labels: {}
spec:
  storageClassName: cephfs
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 4Gi

通过 Web 控制台创建 Persistent Volume Claim

  1. 转到 Container Platform

  2. 在左侧边栏中,单击 Storage > PersistentVolumeClaims (PVC)

  3. 单击 Create PVC

  4. 按需配置参数。

    注意:以下内容以表单方式为例;您也可以切换到 YAML 模式完成操作。

    参数描述
    NamePersistentVolumeClaim 的名称,在当前命名空间内必须唯一。
    Creation Method- Dynamic Creation:根据 storage class 动态生成一个 PersistentVolume 并进行绑定。
    - Static Binding:根据已配置的参数和现有 PersistentVolumes 进行匹配并绑定。
    Storage Class选择动态创建方式后,平台将根据指定 storage class 中的描述动态创建 PersistentVolume。
    Access Mode- ReadWriteOnce (RWO):可被单个节点以读写模式挂载。
    - ReadWriteMany (RWX):可被多个节点以读写模式挂载。
    - ReadOnlyMany (ROX):可被多个节点以只读模式挂载。

    提示:建议结合计划绑定到当前 PersistentVolumeClaim 的工作负载实例数量以及部署控制器类型进行选择。例如,在创建多实例 Deployment 时,由于所有实例都使用同一个 PersistentVolumeClaim,因此不建议选择只能附加到单个节点的 RWO 访问模式。
    Capacity所请求的 PersistentVolume 大小。
    Volume Mode- Filesystem:将 PersistentVolume 作为挂载到 Pod 中的文件目录进行绑定。此模式适用于任何类型的工作负载。
    - Block Device:将 PersistentVolume 作为挂载到 Pod 中的原始块设备进行绑定。此模式仅适用于虚拟机。
    More- Labels
    - Annotations
    - Selector:选择静态绑定方式后,您可以使用选择器来定位带有特定标签的 PersistentVolumes。PersistentVolume 标签可用于表示存储的特殊属性,例如磁盘类型或地理位置。
  5. 单击 Create。等待 PersistentVolumeClaim 变为 Bound 状态,表示 PersistentVolume 已成功匹配。

通过 CLI 创建 Persistent Volume Claim

kubectl apply -f example-pvc.yaml

操作

  • 绑定 PersistentVolumeClaim:在创建需要持久化数据存储的应用或工作负载时,绑定 PersistentVolumeClaim 以请求符合要求的 PersistentVolume。

  • 使用 Volume Snapshots 创建 PersistentVolumeClaim:使用 volume snapshots 备份应用数据,并在需要时进行恢复。详情请参见 使用 Volume Snapshots

  • 删除 PersistentVolumeClaim:单击详情页右上角的 Actions 按钮可删除 PersistentVolumeClaim。在删除之前,请确保该 PersistentVolumeClaim 未绑定到应用或工作负载,且不包含 volume snapshots。删除后,平台将根据回收策略处理 PersistentVolume,这可能会清除 PersistentVolume 中的数据并释放存储资源。在删除 PersistentVolumeClaim 之前,请先确认数据安全要求。

通过 Web 控制台扩展 PersistentVolumeClaim 存储容量

  1. 在左侧导航栏中,单击 Storage > Persistent Volume Claims (PVC)。

  2. 找到该 persistent volume claim,然后单击 ⋮ > Expand。

  3. 填写新的容量。

  4. 单击 Expand。扩容过程可能需要一些时间。

通过 CLI 扩展 Persistent Volume Claim 存储容量

kubectl patch pvc example-pvc -n k-1 --type='merge' -p '{
  "spec": {
    "resources": {
      "requests": {
        "storage": "6Gi"
      }
    }
  }
}'
INFO

当 PVC 在 Kubernetes 中扩容失败时,管理员可以手动恢复 Persistent Volume Claim(PVC)状态并取消扩容请求。请参见 Recover From PVC Expansion Failure

其他资源