Pods in three Availability Zones sharing one Amazon EFS file system through the EFS CSI driver
The Kubernetes API holds Deployment media, claim media-uploads, StorageClass efs-sc and its PersistentVolume. The EFS CSI driver's controller uses an IAM role to call the EFS API. Your VPC spans us-east-1a, 1b and 1c, each with a node running a media Pod and efs-csi-node, and an EFS mount target. Below, the file system fs-0c9e4a71 holds the claim's access point. The walkthrough shows an EBS volume stuck in one zone, mount targets, a Pending claim with no driver, the add-on, an access point per claim, shared mounts over TLS, a blocked port 2049, and burst credits running out until the file system switches to Elastic throughput.
You
kubectl · AWS CLI
KUBERNETES API
Deployment media
replicas: 3 · one per zone
/uploads → media-uploads
PVC media-uploads
StorageClass efs-sc
efs.csi.aws.com · efs-ap
fs-0c9e4a71 · base /media
dir 700 · uid/gid 1000
PV pvc-4b1e9c07…
fs-0c9e4a71::fsap-02b7…
ReadWriteMany · Bound
efs-csi-controller
EKS add-on · kube-system
creates access points
aws-efs-csi-driver
No EFS CSI driver
nothing serves
efs.csi.aws.com
EKS doesn't install it,
even in Auto Mode
IAM role
efs-csi-controller-sa
AmazonEFSCSIDriverPolicy
via Pod Identity or IRSA
YOUR VPC
us-east-1a
us-east-1b
us-east-1c
REPLACED
REPLACED
REPLACED
efs-csi-node
DaemonSet
efs-csi-node
DaemonSet
efs-csi-node
DaemonSet
mount target
10.0.16.200
mount target
10.0.48.200
mount target
10.0.80.200
EBS gp3 · 5 GiB
vol-0e5c81d2…
us-east-1a only
Amazon EFS · fs-0c9e4a71
Regional · data stored across AZs
NFS · port 2049
no size to set: it grows and shrinks
access point fsap-02b7…
/media/pvc-4b1e9c07…
files owned by uid 1000
PODS SAVING UPLOADS
▶ Play
Back
Next
Replay step
Voice off
Whole picture