如何使用 io2 EBS 卷启用 ReadWriteMany 访问模式

How to enable ReadWriteMany access mode using an io2 EBS Volume

我想在 EKS 持久卷中启用 ReadWriteMany 访问模式。来自 EBS AWS 的 io2 volumetype。所以使用 io2 类型 volume

storage_class.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: io2
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
parameters:
  type: io2
  iopsPerGB: "200"

persistent_volume.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv
spec:
  accessModes:
  - ReadWriteMany
  awsElasticBlockStore:
    fsType: ext4
    volumeID: <IO2 type volume ID>
  capacity:
    storage: 50Gi
  storageClassName: io2
  volumeMode: Filesystem

pv_claim.yaml

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 50Gi
  volumeMode: Filesystem
  volumeName: pv
  storageClassName: io2

当 pods 的 3 个副本部署在同一 AZ 的 2 个节点上时,2 个副本(在一个节点上)成功挂载到 io2 卷并启动 运行,但另一个节点上的第三个副本执行未装载到卷。

Error -> Unable to attach or mount volumes: unmounted volumes['']

此外,我想了解 io2 类型的卷是否要挂载到具有 ReadWriteMany 访问模式的 EKS 中的多个节点(与卷位于同一 AZ 中的 EC2 实例)。

我看起来有 open feature request on kubernetes-sigs/aws-ebs-csi-driver 回购,但没有任何进展。所以我想目前不支持它,但你可以监控更新的问题。