如何在EKS的StorageClass中使用gp3卷?K8s 1.18报无效VolumeType错误
问题根因
你使用的Kubernetes 1.18版本自带的树内EBS存储驱动kubernetes.io/aws-ebs不支持gp3卷类型,gp3的官方支持是从Kubernetes 1.21版本才加入该树内驱动的,低版本驱动无法识别gp3的卷类型参数,因此抛出无效卷类型的报错。
解决方案
方案一:切换为AWS EBS CSI驱动(推荐)
这是长期兼容EBS新特性的最优方案:
- 安装兼容Kubernetes 1.18版本的AWS EBS CSI驱动,可选择v1.5.x版本区间的驱动,该系列驱动原生支持gp3卷类型
- 修改你现有gp3 StorageClass的
provisioner字段,调整后配置如下:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: annotations: storageclass.kubernetes.io/is-default-class: "true" name: gp3 parameters: fsType: ext4 type: gp3 provisioner: ebs.csi.aws.com # 替换原有的树内驱动标识 reclaimPolicy: Retain allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer
- 重新创建PVC即可正常分配gp3类型的卷
方案二:升级Kubernetes集群版本
将EKS集群版本升级到1.21及以上,自带的树内EBS驱动就可以原生支持gp3卷类型,无需修改现有StorageClass的provisioner配置。
内容的提问来源于stack exchange,提问作者quoc9x
相关产品推荐
相关产品推荐

