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 Regional 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, burst credits running out, why databases stay on EBS, and lifecycle and backup.
You
kubectl · AWS CLI
KUBERNETES API
Deployment media
replicas: 3 · one per zone
/uploads → media-uploads
PVC media-uploads
StorageClass efs-sc
provisioner: efs.csi.aws.com
provisioningMode: efs-ap
fileSystemId: fs-0c9e4a71
directoryPerms: "700"
uid: "1000" · gid: "1000"
basePath: /media
PV pvc-4b1e9c07…
fs-0c9e4a71::fsap-02b7…
ReadWriteMany · Bound
efs-csi-controller
Deployment · kube-system
csi-provisioner
efs-plugin → EFS API
EKS add-on
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
NFSv4.1 · port 2049
no size to set: it grows and shrinks
access point fsap-02b7…
/media/pvc-4b1e9c07…
perms 700 · owner 1000:1000
every request as uid/gid 1000
one per claim, made by the driver
PODS WITH /uploads
▶ Play
Back
Next
Replay packet
Voice off
Whole cluster