~/ nmadiraju.com Amazon EKS · Persistent volumes and EBS CSI
arrow_back Back to nmadiraju
Visual Walkthrough · Kubernetes storage

How Persistent Volumes and the EBS CSI Driver Work on Amazon EKS

Follow Pod reports and its 20Gi claim from lost files to an EBS volume that's attached, grown and kept, then check yourself with 8 questions.

1Visual Walkthrough

A PersistentVolumeClaim turned into an EBS volume by the EBS CSI driver The Kubernetes API holds Pod reports, claim reports-data, StorageClass gp3, its PersistentVolume and a VolumeAttachment. The EBS CSI driver's controller uses an IAM role to call the EC2 API. Your VPC spans us-east-1a and us-east-1b, each with a node running the ebs-csi-node DaemonSet and an EBS volume. The walkthrough shows lost container files, a Pending claim with no driver, the add-on, a volume made in the wrong zone, WaitForFirstConsumer, attach and mount, expansion, attachment slot limits and reclaim policies. You kubectl · laptop KUBERNETES API Pod reports DELETED PVC reports-data storageClassName: gp3 DELETED StorageClass gp3 provisioner: ebs.csi.aws.com type: gp3 · encrypted: "true" allowVolumeExpansion: true DELETED DELETED VolumeAttachment DELETED ebs-csi-controller Deployment · kube-system csi-provisioner csi-attacher csi-resizer ebs-plugin → EC2 API EKS add-on aws-ebs-csi-driver No EBS CSI driver nothing serves ebs.csi.aws.com EKS doesn't install it (Auto Mode: another provisioner) IAM role ebs-csi-controller-sa AmazonEBSCSIDriverPolicyV2 via Pod Identity or IRSA Amazon EC2 API CreateVolume · DeleteVolume AttachVolume · ModifyVolume called with the IAM role YOUR VPC us-east-1a us-east-1b reports DELETED ebs-csi-node DaemonSet on every node node-b · m5.large other Pods CPU requests full no room for reports ebs-csi-node DaemonSet on every node vol-0a1b2c3d… encrypted · us-east-1a DELETED vol-05e19f7a… encrypted · us-east-1b DELETED

    2Quiz to check understanding

    Check yourself