Open
Description
/kind bug
EKS Auto Mode seems to have a bug in its EBS CSI storage provisioner "ebs.csi.eks.amazonaws.com" in how it handles "ReadWriteOnce”
In summary, when using EKS with Auto Mode enabled and I create an EBS PV with access mode "ReadWriteOnce”…
- I EXPECT: that all pods on the EKS Node with the mounted EBS volume can access the (PersistentVolume) PV
- But ACTUALLY: only one out of the total three pods can access the PV
- Additionally, when NOT using Auto Mode, I observe the expected behavior — all pods can access the PV
In more detail:
To illustrate this problem, I will compare two clusters
Cluster 1 is an EKS cluster WITHOUT Auto Mode (using "ebs.csi.aws.com”)
Cluster 2 is an EKS cluster with Auto Mode ENABLED (using "ebs.csi.eks.amazonaws.com”)
In both clusters:
- I provision a StorageClass for an EBS volume
- I provision a PVC with access mode "ReadWriteOnce”, using the StorageClass
- There are three pods, all three configured to attach a volume mount using the PVC
- All three pods are deployed to the EKS Node that has the attached EBS volume (as expected, to satisfy the PV Claim)
The difference is
- For Cluster 1 all three pods can successfully access the EBS PV - as expected for “ReadWriteOnce”
- For Cluster 2, only one out of the three pod can access the EBS PV, the other two fail with “access denied”
Observations on Cluster 2
- When initializing, all three pods claim to successfully mount the volume in their event logs
- The volume mount path is created on all three pods. But only one pod can successfully access it. The other two see “access denied” when trying to access that path
Repro:
This repo reliably reproduces the issue:
https://github.com/setheliot/eks_auto_mode
- Once installed, open the app and make several writes to the table... after that refresh and see how the PV read responds per pod
Environment
- Kubernetes version (use
kubectl version
): Server Version: v1.32.0-eks-5ca49cb - Driver version:
- Repo: https://github.com/setheliot/eks_auto_mode