7.5. 使用文件系统扩展持久性卷声明(PVC)

根据需要重新定义文件系统大小的卷类型(如 GCE、EBS 和 Cinder)扩展 PVC 分为两个步骤。首先,扩展云供应商中的卷对象。其次,扩展节点上的文件系统。

只有在使用这个卷启动新的 pod 时,才会在该节点中扩展文件系统。

先决条件

  • 控制 StorageClass 对象必须将 allowVolumeExpansion 设置为 true

流程

  1. 通过编辑 spec.resources.requests来修改 PVC 并请求一个新的大小。例如,以下命令将 ebs PVC 扩展至 8 Gi:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: ebs
    spec:
      storageClass: "storageClassWithFlagSet"
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 8Gi 1
    1
    spec.resources.requests 更新至更大的 PVC 来扩展 PVC。
  2. 重新定义云供应商对象大小后, PVC 被设置为 FileSystemResizePending。输入以下命令检查条件:

    $ oc describe pvc <pvc_name>
  3. 当云供应商对象完成重新定义大小时,PersistentVolume 对象中的 PersistentVolume.Spec.Capacity 会显示新请求的大小。此时,您可从 PVC 创建或重新创建新 Pod 来完成文件系统大小调整。当 Pod 运行后,新请求的大小就可用,同时 FileSystemResizePending 条件从 PVC 中删除。