创建 PVCs

创建一个持久卷声明(PVC),并根据需要设置请求的持久卷(PV)的参数。

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

先决条件

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

示例持久卷声明:

# 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 控制台创建持久卷声明

  1. 转到 容器平台

  2. 在左侧边栏中点击 存储 > 持久卷声明(PVC)

  3. 点击 创建 PVC

  4. 根据需要配置参数。

    注意:以下内容作为使用表单方法的示例提供;您也可以切换到 YAML 模式以完成操作。

    参数描述
    名称持久卷声明的名称,必须在当前命名空间内唯一。
    创建方式- 动态创建:根据存储类动态生成持久卷并绑定。
    - 静态绑定:根据配置的参数和现有持久卷进行匹配和绑定。
    存储类选择动态创建方法后,平台将根据指定存储类中的描述动态创建持久卷。
    访问模式- ReadWriteOnce (RWO):可以被单个节点以读写模式挂载。
    - ReadWriteMany (RWX):可以被多个节点以读写模式挂载。
    - ReadOnlyMany (ROX):可以被多个节点以只读模式挂载。

    提示:建议考虑计划绑定到当前持久卷声明的工作负载实例数量和部署控制器的类型。例如,在创建多实例部署(Deployment)时,由于所有实例使用相同的持久卷声明,因此不建议选择只能附加到单个节点的 RWO 访问模式。
    容量请求的持久卷的大小。
    卷模式- 文件系统:将持久卷绑定为挂载到 Pod 的文件目录。此模式适用于任何类型的工作负载。
    - 块设备:将持久卷绑定为挂载到 Pod 的原始块设备。此模式仅适用于虚拟机。
    更多- 标签
    - 注释
    - 选择器:选择静态绑定方法后,您可以使用选择器来定位带有特定标签的持久卷。持久卷标签可用于表示存储的特殊属性,例如磁盘类型或地理位置。
  5. 点击 创建。等待持久卷声明状态变为 Bound,表示持久卷已成功匹配。

通过 CLI 创建持久卷声明

kubectl apply -f example-pvc.yaml

操作

  • 绑定持久卷声明:在创建需要持久数据存储的应用程序或工作负载时,绑定持久卷声明以请求符合要求的持久卷。

  • 使用卷快照创建持久卷声明:这有助于备份应用程序数据并在需要时恢复,确保业务应用程序数据的可靠性。请参阅 使用卷快照

  • 删除持久卷声明:您可以在详情页面的右上角点击 操作 按钮,根据需要删除持久卷声明。在删除之前,请确保持久卷声明未绑定到任何应用程序或工作负载,并且不包含任何卷快照。删除持久卷声明后,平台将根据回收策略处理持久卷,这可能会清除持久卷中的数据并释放存储资源。请根据数据安全考虑谨慎操作。

通过 Web 控制台扩展持久卷声明存储容量

  1. 在左侧导航栏中,点击存储 > 持久卷声明(PVC)。

  2. 找到持久卷声明并点击 ⋮ > 扩展。

  3. 填写新容量。

  4. 点击扩展。扩展过程可能需要一些时间,请耐心等待。

通过 CLI 扩展持久卷声明存储容量

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

当 PVC 扩展在 Kubernetes 中失败时,管理员可以手动恢复持久卷声明(PVC)状态并取消扩展请求。请参阅 从 PVC 扩展失败中恢复

其他资源