<p>I deployed efs-provisioner to mount aws-efs in k8s as pvc. Then I'm getting "no volume plugin matched" error while creating pvc. </p>

<pre><code>$ kubectl describe pvc efs -n dev
Name:       efs
Namespace:  dev
StorageClass:   aws-efs
Status:     Pending
Volume:     
Labels:     &lt;none&gt;
Annotations:    volume.beta.kubernetes.io/storage-class=aws-efs
Capacity:   
Access Modes:   
Events:
  FirstSeen LastSeen    Count   From                SubObjectPath   Type        Reason          Message
  --------- --------    -----   ----                -------------   --------    ------          -------
  32m       2m      21  persistentvolume-controller         Warning     ProvisioningFailed  no volume plugin matched

 kind: StorageClass
 apiVersion: storage.k8s.io/v1
 metadata:
   name: aws-efs
 provisioner: kubernetes.io/aws-efs
</code></pre>

<p>efs-provisioner-dep.yml at <a href="https://raw.githubusercontent.com/kubernetes-incubator/external-storage/master/aws/efs/deploy/deployment.yaml" rel="nofollow noreferrer">https://raw.githubusercontent.com/kubernetes-incubator/external-storage/master/aws/efs/deploy/deployment.yaml</a></p>

hariK
<p>I know this bit old and efs provisioner is officially deprecated. But still see some of the clusters and customers using it. I had the same issue and spend quite sometime troubleshooting it and I believe this can be helpful to someone who got the same issue.</p>
<p>I faced the issue after upgrading the efs provisoner to the latest numbered version which is  v2.4.0 which can be found <a href="https://quay.io/repository/external_storage/efs-provisioner?tab=tags" rel="nofollow noreferrer">here</a></p>
<p>It was exactly went to the state as described in the question after the upgrade but I can confirm that it has started working after reverting back to the old version in my case v0.1.2.</p>
<p>After spending sometime, carefully analyzing the answers in <a href="https://github.com/kubernetes-retired/external-storage/issues/1111" rel="nofollow noreferrer">this</a> github issue I was able to fix it with below changes.</p>
<ol>
<li>Changing the StorageClass prvisioner from <code>kubernetes.io/aws-efs</code> to something else such as <code>example.com/aws-efs</code></li>
<li>Updating the efs provisioner deployment with the updated provisioner as below in the environment variables</li>
</ol>
<pre><code>         env:
           - name: FILE_SYSTEM_ID
             value: &quot;{{ .Values.efs_fs_id }}&quot;
           - name: AWS_REGION
             value: &quot;{{ .Values.region }}&quot;
           - name: PROVISIONER_NAME
             value: &quot;example.com/aws-efs&quot;
</code></pre>
<p>Make sure to delete the previous StorageClass with <code>kubernetes.io/aws-efs</code> before create the new one with the updated provisioner.</p>
<p>I hope this helps. Thanks.</p>
