You can only resize volumes containing a file system if the file system is XFS, Ext3, or Ext4. When a volume contains a file system, the file system is only resized when a new Pod is using the
PersistentVolumeClaim
in ReadWrite mode. File system expansion is either done when a Pod is starting up or when a Pod is running and the underlying file system supports online expansion.
First of all, the Storage Class must have the AllowVolumeExpansion: True configured:
AllowVolumeExpansion: True
If it has not been setup yet, you can update it. For example
$ kubectl patch storageclass/"glusterfs" \
--namespace "default" \
--patch '{"allowVolumeExpansion": true}'
Then you need to edit or patch the current PVC config to reflect the new size. For example, I want to resize the glusterfs-test-pvc from 5G to 8G.
$ kubectl patch pvc/"glusterfs-test-pvc" \
--namespace "default" \
--patch '{"spec": {"resources": {"requests": {"storage": "8Gi"}}}}'
The full example:
Reference: https://kubernetes.io/blog/2018/07/12/resizing-persistent-volumes-using-kubernetes/
https://kubernetes.io/docs/concepts/storage/persistent-volumes/