Skip to main content Skip to complementary content

Troubleshooting the CSI driver not provisioning volumes with EFS on Amazon EKS

Resolve issues when a PersistentVolumeClaim (PVC) remains in pending status and EFS volumes are not provisioned by the CSI driver on Amazon EKS.

A PersistentVolumeClaim (PVC) remains in Pending status and volumes are not created.

Procedure

  1. Review logs from the EFS CSI driver controller deployment.
    kubectl -n kube-system logs deploy/efs-csi-controller -c efs-plugin

    Common causes are related to EFS file system access or IAM permissions. Review the log for these errors.

  2. Verify that the EFS CSI driver service account has the correct IAM role attached.
    IAM Roles for Service Accounts (IRSA) allows Kubernetes service accounts to assume IAM roles. Verify that the IAM policy includes elasticfilesystem:* permissions. Confirm that the trust relationship allows the service account to assume the role.
    kubectl get sa -n kube-system \
      -l 'app.kubernetes.io/name=aws-efs-csi-driver' \
      -ojsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.annotations.eks\.amazonaws\.com/role-arn}{"\n"}{end}'
    If the role ARN is empty, it means the service account has no IAM role attached.
  3. Verify that the storage class references your EFS file system ID and specifies the correct provisioner.
    The StorageClass should specify the efs.csi.aws.com provisioner.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!