Question

EKS에서 StorageClass에 allowVolumeExpansion 옵션이 있는 것을 확인하였습니다..

이 옵션을 사용하여 pod에 volume을 자동확장을 할 수 있나요?


Answer

allowVolumeExpansion은 PersistentVolumeClaim으로 Dynamic Volume Provisioning을 할 때 EBS볼륨의 사이즈 변경을 허용하기 위한 옵션이기에,

PV(EBS볼륨)의 경우 allowVolumeExpansion 옵션을 통해 Resizing은 가능하지만, 자동으로 스케일링하는 기능은 제공되지 않습니다.


apiVersion: storage.k8s.io/v1

kind: StorageClass

apiVersion: storage.k8s.io/v1

metadata:

  name: gp3

allowVolumeExpansion: true

provisioner: ebs.csi.aws.com

...


PersistentVolumeClaim로 볼륨 사이즈를 설정한 후 Pod에 마운트해 AWS EBS를 프로비저닝을 할 경우, 기본적으로 EBS 볼륨 사이즈를 변경할 수 없으며, 에러가 발생합니다.


allowVolumeExpansion 옵션을 허용할 경우 원하는 EBS 볼륨 사이즈를 입력하여 변경할 수 있습니다.


...

spec:

  accessModes:

    - ReadWriteOnce

  resources:

    requests:

      storage: 10Gi

  storageClassName: gp3

...