<p>What specific changes need to be made to the <code>yaml</code> below in order to get the <code>PersistentVolumeClaim</code> to bind to the <code>PersistentVolume</code>?</p>

<p>An EC2 instance in the same VPC subnet as the Kubernetes worker nodes has an ip of 10.0.0.112 and and has been configured to act as an NFS server in the /nfsfileshare path.</p>

<h2>Creating the PersistentVolume</h2>

<p>We created a PersistentVolume pv01 with <code>pv-volume-network.yaml</code>:</p>

<pre><code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv01
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: slow
  mountOptions:
    - hard
    - nfsvers=4.1
  nfs:
    path: "/nfsfileshare"
    server: "10.0.0.112"
</code></pre>

<p>and by typing:</p>

<pre><code>kubectl create -f pv-volume-network.yaml
</code></pre>

<p>Then when we type <code>kubectl get pv pv01</code>, the <code>pv01</code> PersistentVolume shows a STATUS of "Available".</p>

<h2>Creating the PersistentVolumeClaim</h2>

<p>Then we created a PersistentVolumeClaim named `` with <code>pv-claim.yaml</code>:  </p>

<pre><code>kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: my-pv-claim
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
</code></pre>

<p>And by typing:  </p>

<pre><code>kubectl create -f pv-claim.yaml
</code></pre>

<h2>STATUS is Pending</h2>

<p>But then when we type <code>kubectl get pvc my-pv-claim</code>, we see that the STATUS is Pending.  The STATUS remains as Pending for as long as we continued to check back.</p>

<p>Note this OP is different than <a href="https://stackoverflow.com/questions/44556363/kubernetes-nfs-persistentvolumeclaim-has-status-pending">this other question</a>, because this problem persists even with quotes around the NFS IP and the path.</p>

<p>Why is this PVC not binding to the PV?  What specific changes need to be made to resolve this?</p>

<p>I diagnosed the problem by typing <code>kubectl describe pvc my-pv-claim</code> and looking in the Events section of the results.</p>

<p>Then, based on the reported Events, I was able to fix this by changing <code>storageClassName: manual</code> to <code>storageClassName: slow</code>.  </p>

<p>The problem was that the PVC's StorageClassName did not meet the requirement that it match the class specified in the PV.</p>
