<p>I create one EKS cluster with 6 nodes. In every node attach EFS file system using launch template and create a file in file system and file also accessible from all worker node. By SSH i check this operation.</p>
<p>But when try to create a test-application pod with dynamic pvc claim after installing csi driver and storage class creation in eks, cluster tell me,</p>
<p><strong>PVC Pod:</strong></p>
<pre><code>Normal  ExternalProvisioning    2 hours persistentvolume-controller waiting for a volume to be created, either by external provisioner &quot;efs.csi.aws.com&quot; or manually created by system administrator
</code></pre>
<p><strong>Application Pod:</strong></p>
<pre><code>FailedScheduling    2 hours default-scheduler   0/6 nodes are available: 6 pod has unbound immediate PersistentVolumeClaims.
</code></pre>
<p>How can i fix this efs issues from eks....? please give me some guidance. I am stucking in here almost 1 months.</p>
<p><strong>PVC describe:</strong></p>
<pre><code>{
  &quot;kind&quot;: &quot;PersistentVolumeClaim&quot;,
  &quot;apiVersion&quot;: &quot;v1&quot;,
  &quot;metadata&quot;: {
    &quot;name&quot;: &quot;efs-claim&quot;,
    &quot;namespace&quot;: &quot;default&quot;,
    &quot;uid&quot;: &quot;bb7d1d08-f14b-4435-90e2-42255a915e23&quot;,
    &quot;resourceVersion&quot;: &quot;9805&quot;,
    &quot;creationTimestamp&quot;: &quot;2022-07-18T03:50:14Z&quot;,
    &quot;annotations&quot;: {
      &quot;kubectl.kubernetes.io/last-applied-configuration&quot;: &quot;{\&quot;apiVersion\&quot;:\&quot;v1\&quot;,\&quot;kind\&quot;:\&quot;PersistentVolumeClaim\&quot;,\&quot;metadata\&quot;:{\&quot;annotations\&quot;:{},\&quot;name\&quot;:\&quot;efs-claim\&quot;,\&quot;namespace\&quot;:\&quot;default\&quot;},\&quot;spec\&quot;:{\&quot;accessModes\&quot;:[\&quot;ReadWriteMany\&quot;],\&quot;resources\&quot;:{\&quot;requests\&quot;:{\&quot;storage\&quot;:\&quot;5Gi\&quot;}},\&quot;storageClassName\&quot;:\&quot;eks-sc-efs\&quot;}}\n&quot;,
      &quot;volume.beta.kubernetes.io/storage-provisioner&quot;: &quot;efs.csi.aws.com&quot;
    },
    &quot;finalizers&quot;: [
      &quot;kubernetes.io/pvc-protection&quot;
    ],
    &quot;managedFields&quot;: [
      {
        &quot;manager&quot;: &quot;kube-controller-manager&quot;,
        &quot;operation&quot;: &quot;Update&quot;,
        &quot;apiVersion&quot;: &quot;v1&quot;,
        &quot;time&quot;: &quot;2022-07-18T03:50:14Z&quot;,
        &quot;fieldsType&quot;: &quot;FieldsV1&quot;,
        &quot;fieldsV1&quot;: {
          &quot;f:metadata&quot;: {
            &quot;f:annotations&quot;: {
              &quot;f:volume.beta.kubernetes.io/storage-provisioner&quot;: {}
            }
          }
        }
      },
      {
        &quot;manager&quot;: &quot;kubectl-client-side-apply&quot;,
        &quot;operation&quot;: &quot;Update&quot;,
        &quot;apiVersion&quot;: &quot;v1&quot;,
        &quot;time&quot;: &quot;2022-07-18T03:50:14Z&quot;,
        &quot;fieldsType&quot;: &quot;FieldsV1&quot;,
        &quot;fieldsV1&quot;: {
          &quot;f:metadata&quot;: {
            &quot;f:annotations&quot;: {
              &quot;.&quot;: {},
              &quot;f:kubectl.kubernetes.io/last-applied-configuration&quot;: {}
            }
          },
          &quot;f:spec&quot;: {
            &quot;f:accessModes&quot;: {},
            &quot;f:resources&quot;: {
              &quot;f:requests&quot;: {
                &quot;.&quot;: {},
                &quot;f:storage&quot;: {}
              }
            },
            &quot;f:storageClassName&quot;: {},
            &quot;f:volumeMode&quot;: {}
          }
        }
      }
    ]
  },
  &quot;spec&quot;: {
    &quot;accessModes&quot;: [
      &quot;ReadWriteMany&quot;
    ],
    &quot;resources&quot;: {
      &quot;requests&quot;: {
        &quot;storage&quot;: &quot;5Gi&quot;
      }
    },
    &quot;storageClassName&quot;: &quot;eks-sc-efs&quot;,
    &quot;volumeMode&quot;: &quot;Filesystem&quot;
  },
  &quot;status&quot;: {
    &quot;phase&quot;: &quot;Pending&quot;
  }
}
</code></pre>
<p><strong>Pod Describe:</strong></p>
<pre><code>{
  &quot;kind&quot;: &quot;Pod&quot;,
  &quot;apiVersion&quot;: &quot;v1&quot;,
  &quot;metadata&quot;: {
    &quot;name&quot;: &quot;efs-app&quot;,
    &quot;namespace&quot;: &quot;default&quot;,
    &quot;uid&quot;: &quot;de410588-0fe4-4ea8-bb48-fe1fdbda30a0&quot;,
    &quot;resourceVersion&quot;: &quot;9809&quot;,
    &quot;creationTimestamp&quot;: &quot;2022-07-18T03:50:14Z&quot;,
    &quot;annotations&quot;: {
      &quot;kubectl.kubernetes.io/last-applied-configuration&quot;: &quot;{\&quot;apiVersion\&quot;:\&quot;v1\&quot;,\&quot;kind\&quot;:\&quot;Pod\&quot;,\&quot;metadata\&quot;:{\&quot;annotations\&quot;:{},\&quot;name\&quot;:\&quot;efs-app\&quot;,\&quot;namespace\&quot;:\&quot;default\&quot;},\&quot;spec\&quot;:{\&quot;containers\&quot;:[{\&quot;args\&quot;:[\&quot;-c\&quot;,\&quot;while true; do echo $(date -u) \\u003e\\u003e /data/out; sleep 5; done\&quot;],\&quot;command\&quot;:[\&quot;/bin/sh\&quot;],\&quot;image\&quot;:\&quot;centos\&quot;,\&quot;name\&quot;:\&quot;app\&quot;,\&quot;volumeMounts\&quot;:[{\&quot;mountPath\&quot;:\&quot;/efs\&quot;,\&quot;name\&quot;:\&quot;persistent-storage\&quot;}]}],\&quot;volumes\&quot;:[{\&quot;name\&quot;:\&quot;persistent-storage\&quot;,\&quot;persistentVolumeClaim\&quot;:{\&quot;claimName\&quot;:\&quot;efs-claim\&quot;}}]}}\n&quot;,
      &quot;kubernetes.io/psp&quot;: &quot;eks.privileged&quot;
    },
    &quot;managedFields&quot;: [
      {
        &quot;manager&quot;: &quot;kube-scheduler&quot;,
        &quot;operation&quot;: &quot;Update&quot;,
        &quot;apiVersion&quot;: &quot;v1&quot;,
        &quot;time&quot;: &quot;2022-07-18T03:50:14Z&quot;,
        &quot;fieldsType&quot;: &quot;FieldsV1&quot;,
        &quot;fieldsV1&quot;: {
          &quot;f:status&quot;: {
            &quot;f:conditions&quot;: {
              &quot;.&quot;: {},
              &quot;k:{\&quot;type\&quot;:\&quot;PodScheduled\&quot;}&quot;: {
                &quot;.&quot;: {},
                &quot;f:lastProbeTime&quot;: {},
                &quot;f:lastTransitionTime&quot;: {},
                &quot;f:message&quot;: {},
                &quot;f:reason&quot;: {},
                &quot;f:status&quot;: {},
                &quot;f:type&quot;: {}
              }
            }
          }
        }
      },
      {
        &quot;manager&quot;: &quot;kubectl-client-side-apply&quot;,
        &quot;operation&quot;: &quot;Update&quot;,
        &quot;apiVersion&quot;: &quot;v1&quot;,
        &quot;time&quot;: &quot;2022-07-18T03:50:14Z&quot;,
        &quot;fieldsType&quot;: &quot;FieldsV1&quot;,
        &quot;fieldsV1&quot;: {
          &quot;f:metadata&quot;: {
            &quot;f:annotations&quot;: {
              &quot;.&quot;: {},
              &quot;f:kubectl.kubernetes.io/last-applied-configuration&quot;: {}
            }
          },
          &quot;f:spec&quot;: {
            &quot;f:containers&quot;: {
              &quot;k:{\&quot;name\&quot;:\&quot;app\&quot;}&quot;: {
                &quot;.&quot;: {},
                &quot;f:args&quot;: {},
                &quot;f:command&quot;: {},
                &quot;f:image&quot;: {},
                &quot;f:imagePullPolicy&quot;: {},
                &quot;f:name&quot;: {},
                &quot;f:resources&quot;: {},
                &quot;f:terminationMessagePath&quot;: {},
                &quot;f:terminationMessagePolicy&quot;: {},
                &quot;f:volumeMounts&quot;: {
                  &quot;.&quot;: {},
                  &quot;k:{\&quot;mountPath\&quot;:\&quot;/efs\&quot;}&quot;: {
                    &quot;.&quot;: {},
                    &quot;f:mountPath&quot;: {},
                    &quot;f:name&quot;: {}
                  }
                }
              }
            },
            &quot;f:dnsPolicy&quot;: {},
            &quot;f:enableServiceLinks&quot;: {},
            &quot;f:restartPolicy&quot;: {},
            &quot;f:schedulerName&quot;: {},
            &quot;f:securityContext&quot;: {},
            &quot;f:terminationGracePeriodSeconds&quot;: {},
            &quot;f:volumes&quot;: {
              &quot;.&quot;: {},
              &quot;k:{\&quot;name\&quot;:\&quot;persistent-storage\&quot;}&quot;: {
                &quot;.&quot;: {},
                &quot;f:name&quot;: {},
                &quot;f:persistentVolumeClaim&quot;: {
                  &quot;.&quot;: {},
                  &quot;f:claimName&quot;: {}
                }
              }
            }
          }
        }
      }
    ]
  },
  &quot;spec&quot;: {
    &quot;volumes&quot;: [
      {
        &quot;name&quot;: &quot;persistent-storage&quot;,
        &quot;persistentVolumeClaim&quot;: {
          &quot;claimName&quot;: &quot;efs-claim&quot;
        }
      },
      {
        &quot;name&quot;: &quot;kube-api-access-ppzjw&quot;,
        &quot;projected&quot;: {
          &quot;sources&quot;: [
            {
              &quot;serviceAccountToken&quot;: {
                &quot;expirationSeconds&quot;: 3607,
                &quot;path&quot;: &quot;token&quot;
              }
            },
            {
              &quot;configMap&quot;: {
                &quot;name&quot;: &quot;kube-root-ca.crt&quot;,
                &quot;items&quot;: [
                  {
                    &quot;key&quot;: &quot;ca.crt&quot;,
                    &quot;path&quot;: &quot;ca.crt&quot;
                  }
                ]
              }
            },
            {
              &quot;downwardAPI&quot;: {
                &quot;items&quot;: [
                  {
                    &quot;path&quot;: &quot;namespace&quot;,
                    &quot;fieldRef&quot;: {
                      &quot;apiVersion&quot;: &quot;v1&quot;,
                      &quot;fieldPath&quot;: &quot;metadata.namespace&quot;
                    }
                  }
                ]
              }
            }
          ],
          &quot;defaultMode&quot;: 420
        }
      }
    ],
    &quot;containers&quot;: [
      {
        &quot;name&quot;: &quot;app&quot;,
        &quot;image&quot;: &quot;centos&quot;,
        &quot;command&quot;: [
          &quot;/bin/sh&quot;
        ],
        &quot;args&quot;: [
          &quot;-c&quot;,
          &quot;while true; do echo $(date -u) &gt;&gt; /data/out; sleep 5; done&quot;
        ],
        &quot;resources&quot;: {},
        &quot;volumeMounts&quot;: [
          {
            &quot;name&quot;: &quot;persistent-storage&quot;,
            &quot;mountPath&quot;: &quot;/efs&quot;
          },
          {
            &quot;name&quot;: &quot;kube-api-access-ppzjw&quot;,
            &quot;readOnly&quot;: true,
            &quot;mountPath&quot;: &quot;/var/run/secrets/kubernetes.io/serviceaccount&quot;
          }
        ],
        &quot;terminationMessagePath&quot;: &quot;/dev/termination-log&quot;,
        &quot;terminationMessagePolicy&quot;: &quot;File&quot;,
        &quot;imagePullPolicy&quot;: &quot;Always&quot;
      }
    ],
    &quot;restartPolicy&quot;: &quot;Always&quot;,
    &quot;terminationGracePeriodSeconds&quot;: 30,
    &quot;dnsPolicy&quot;: &quot;ClusterFirst&quot;,
    &quot;serviceAccountName&quot;: &quot;default&quot;,
    &quot;serviceAccount&quot;: &quot;default&quot;,
    &quot;securityContext&quot;: {},
    &quot;schedulerName&quot;: &quot;default-scheduler&quot;,
    &quot;tolerations&quot;: [
      {
        &quot;key&quot;: &quot;node.kubernetes.io/not-ready&quot;,
        &quot;operator&quot;: &quot;Exists&quot;,
        &quot;effect&quot;: &quot;NoExecute&quot;,
        &quot;tolerationSeconds&quot;: 300
      },
      {
        &quot;key&quot;: &quot;node.kubernetes.io/unreachable&quot;,
        &quot;operator&quot;: &quot;Exists&quot;,
        &quot;effect&quot;: &quot;NoExecute&quot;,
        &quot;tolerationSeconds&quot;: 300
      }
    ],
    &quot;priority&quot;: 0,
    &quot;enableServiceLinks&quot;: true,
    &quot;preemptionPolicy&quot;: &quot;PreemptLowerPriority&quot;
  },
  &quot;status&quot;: {
    &quot;phase&quot;: &quot;Pending&quot;,
    &quot;conditions&quot;: [
      {
        &quot;type&quot;: &quot;PodScheduled&quot;,
        &quot;status&quot;: &quot;False&quot;,
        &quot;lastProbeTime&quot;: null,
        &quot;lastTransitionTime&quot;: &quot;2022-07-18T03:50:14Z&quot;,
        &quot;reason&quot;: &quot;Unschedulable&quot;,
        &quot;message&quot;: &quot;0/6 nodes are available: 6 pod has unbound immediate PersistentVolumeClaims.&quot;
      }
    ],
    &quot;qosClass&quot;: &quot;BestEffort&quot;
  }
}
</code></pre>
<p><strong>Storage Class Descibe:</strong></p>
<pre><code>{
  &quot;kind&quot;: &quot;StorageClass&quot;,
  &quot;apiVersion&quot;: &quot;storage.k8s.io/v1&quot;,
  &quot;metadata&quot;: {
    &quot;name&quot;: &quot;eks-sc-efs&quot;,
    &quot;uid&quot;: &quot;9ea3d917-ef15-4863-ae62-e0de929c3134&quot;,
    &quot;resourceVersion&quot;: &quot;2756&quot;,
    &quot;creationTimestamp&quot;: &quot;2022-07-18T03:35:09Z&quot;,
    &quot;annotations&quot;: {
      &quot;kubectl.kubernetes.io/last-applied-configuration&quot;: &quot;{\&quot;allowVolumeExpansion\&quot;:true,\&quot;apiVersion\&quot;:\&quot;storage.k8s.io/v1\&quot;,\&quot;kind\&quot;:\&quot;StorageClass\&quot;,\&quot;metadata\&quot;:{\&quot;annotations\&quot;:{},\&quot;name\&quot;:\&quot;eks-sc-efs\&quot;},\&quot;mountOptions\&quot;:[\&quot;tls\&quot;],\&quot;parameters\&quot;:{\&quot;basePath\&quot;:\&quot;/\&quot;,\&quot;directoryPerms\&quot;:\&quot;700\&quot;,\&quot;fileSystemId\&quot;:\&quot;fs-0c8427977faa4865c\&quot;,\&quot;gidRangeEnd\&quot;:\&quot;2000\&quot;,\&quot;gidRangeStart\&quot;:\&quot;1000\&quot;,\&quot;provisioningMode\&quot;:\&quot;efs-ap\&quot;},\&quot;provisioner\&quot;:\&quot;efs.csi.aws.com\&quot;}\n&quot;
    },
    &quot;managedFields&quot;: [
      {
        &quot;manager&quot;: &quot;kubectl-client-side-apply&quot;,
        &quot;operation&quot;: &quot;Update&quot;,
        &quot;apiVersion&quot;: &quot;storage.k8s.io/v1&quot;,
        &quot;time&quot;: &quot;2022-07-18T03:35:09Z&quot;,
        &quot;fieldsType&quot;: &quot;FieldsV1&quot;,
        &quot;fieldsV1&quot;: {
          &quot;f:allowVolumeExpansion&quot;: {},
          &quot;f:metadata&quot;: {
            &quot;f:annotations&quot;: {
              &quot;.&quot;: {},
              &quot;f:kubectl.kubernetes.io/last-applied-configuration&quot;: {}
            }
          },
          &quot;f:mountOptions&quot;: {},
          &quot;f:parameters&quot;: {
            &quot;.&quot;: {},
            &quot;f:basePath&quot;: {},
            &quot;f:directoryPerms&quot;: {},
            &quot;f:fileSystemId&quot;: {},
            &quot;f:gidRangeEnd&quot;: {},
            &quot;f:gidRangeStart&quot;: {},
            &quot;f:provisioningMode&quot;: {}
          },
          &quot;f:provisioner&quot;: {},
          &quot;f:reclaimPolicy&quot;: {},
          &quot;f:volumeBindingMode&quot;: {}
        }
      }
    ]
  },
  &quot;provisioner&quot;: &quot;efs.csi.aws.com&quot;,
  &quot;parameters&quot;: {
    &quot;basePath&quot;: &quot;/&quot;,
    &quot;directoryPerms&quot;: &quot;700&quot;,
    &quot;fileSystemId&quot;: &quot;fs-*******4865c&quot;,
    &quot;gidRangeEnd&quot;: &quot;2000&quot;,
    &quot;gidRangeStart&quot;: &quot;1000&quot;,
    &quot;provisioningMode&quot;: &quot;efs-ap&quot;
  },
  &quot;reclaimPolicy&quot;: &quot;Delete&quot;,
  &quot;mountOptions&quot;: [
    &quot;tls&quot;
  ],
  &quot;allowVolumeExpansion&quot;: true,
  &quot;volumeBindingMode&quot;: &quot;Immediate&quot;
}
</code></pre>

Jahadul Rakib
<p>According to the PVC status pending,  there is no provisioner able to create the Volume. Have you try and create a PersistentVolume?</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: test-volume
spec:
  storageClassName: eks-sc-efs
  capacity:
    storage: 5Gi
  accessModes:
  - ReadWriteOnce
</code></pre>
<p>Describe the object and see if there are any other errors. Additionally make sure the CSI drivers are installed. I found this documentation from AWS EKS <a href="https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html" rel="nofollow noreferrer">https://docs.aws.amazon.com/eks/latest/userguide/efs-csi.html</a></p>
