<p>I am trying to configure my Kubernetes cluster to use a local NFS server for persistent volumes.</p>

<p>I set up the PersistentVolume as follows:</p>

<pre><code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: hq-storage-u4
  namespace: my-ns
spec:
  capacity:
    storage: 10Ti
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /data/u4
    server: 10.30.136.79
    readOnly: false
</code></pre>

<p>The PV looks OK in kubectl</p>

<pre><code>$ kubectl get pv
NAME            CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS     CLAIM             STORAGECLASS   REASON    AGE
hq-storage-u4   10Ti       RWX           Retain          Released   my-ns/pv-50g                               49m
</code></pre>

<p>I then try to create the PersistentVolumeClaim:</p>

<pre><code>apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvc-50gb
  namespace: my-ns
spec:
  accessModes:
  - ReadWriteMany
  resources:
     requests:
       storage: 5Gi
</code></pre>

<p>Kubectl shows the pvc status is Pending</p>

<pre><code>$ kubectl get pvc
NAME       STATUS    VOLUME    CAPACITY   ACCESSMODES   STORAGECLASS   AGE
pvc-50gb   Pending                                                     16m
</code></pre>

<p>When I try to add the volume to a deployment, I get the error:</p>

<pre><code>[SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "pvc-50gb", which is unexpected., SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "pvc-50gb", which is unexpected., SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "pvc-50gb", which is unexpected.]
</code></pre>

<p>How to I get the pvc to a working state?</p>

<p>It turned out that I needed to put the IP (I also put the path) in quotes.  After fixing that, the pvc goes to status Bound, and the pod can mount correctly.</p>
