为什么kubernetes pvc resize无法与文件系统一起使用?

时间:2019-09-12 10:02:29

标签: kubernetes resize

我想使用动态调整大小PVC的Kubernetes功能。将PVC尺寸编辑为大尺寸后,只有PV尺寸已更改,但PVC状态仍为FileSystemResizePending。我的Kubernetes版本是1.15.3,在正常情况下,文件系统将自动扩展。即使我重新创建Pod,PVC的状态仍然为FileSystemResizePending,并且大小不变。

CSI驱动程序为aws-ebs-csi-driver,版本为alpha。 Kubernetes的版本为1.15.3

像这样的功能门:

--feature-gates=ExpandInUsePersistentVolumes=true,CSINodeInfo=true,CSIDriverRegistry=true,CSIBlockVolume=true,VolumeSnapshotDataSource=true,ExpandCSIVolumes=true

创建StorageClass文件为:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: ebs-sc
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

PV状态:

kubectl describe pv pvc-44bbcd26-2d7c-4e42-a426-7803efb6a5e7
Name:              pvc-44bbcd26-2d7c-4e42-a426-7803efb6a5e7
Labels:            <none>
Annotations:       pv.kubernetes.io/provisioned-by: ebs.csi.aws.com
Finalizers:        [kubernetes.io/pv-protection external-attacher/ebs-csi-aws-com]
StorageClass:      ebs-sc
Status:            Bound
Claim:             default/test
Reclaim Policy:    Delete
Access Modes:      RWO
VolumeMode:        Filesystem
Capacity:          25Gi
Node Affinity:     
  Required Terms:  
    Term 0:        topology.ebs.csi.aws.com/zone in [ap-southeast-1b]
Message:           
Source:
    Type:              CSI (a Container Storage Interface (CSI) volume source)
    Driver:            ebs.csi.aws.com
    VolumeHandle:      vol-0beb77489a4b06f4c
    ReadOnly:          false
    VolumeAttributes:      storage.kubernetes.io/csiProvisionerIdentity=1568278824948-8081-ebs.csi.aws.com
Events:                <none>

PVC状态:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
    volume.beta.kubernetes.io/storage-provisioner: ebs.csi.aws.com
  creationTimestamp: "2019-09-12T09:08:09Z"
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    app: test
  name: test
  namespace: default
  resourceVersion: "5467113"
  selfLink: /api/v1/namespaces/default/persistentvolumeclaims/test
  uid: 44bbcd26-2d7c-4e42-a426-7803efb6a5e7
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 25Gi
  storageClassName: ebs-sc
  volumeMode: Filesystem
  volumeName: pvc-44bbcd26-2d7c-4e42-a426-7803efb6a5e7
status:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 20Gi
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2019-09-12T09:10:29Z"
    message: Waiting for user to (re-)start a pod to finish file system resize of
      volume on node.
    status: "True"
    type: FileSystemResizePending
  phase: Bound

我希望PVC尺寸将更改为我指定的值。但是PVC状态始终保持FileSystemResizePending

1 个答案:

答案 0 :(得分:1)

您的PVC状态正确,您会看到一个原因:

message: Waiting for user to (re-)start a pod to finish file system resize of
  volume on node

您应该重新启动使用该PV的Pod,这将导致PV的重新安装,并且FS将在下一次安装之前调整大小。

并非所有文件系统都可以实时调整大小,因此我认为这只是兼容性行为。另外,那还是比较安全的。