<p>So far I was convinced that one need a PVC to access a PV like in this example from k8s <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#claims-as-volumes" rel="nofollow noreferrer">doc</a>:</p>

<pre><code>apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: myfrontend
      image: nginx
      volumeMounts:
      - mountPath: "/var/www/html"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: myclaim
</code></pre>

<p>But then I saw in <a href="https://docs.docker.com/ee/ucp/kubernetes/storage/use-nfs-volumes/" rel="nofollow noreferrer">Docker doc</a> that one can use the following syntax (example using nfs):</p>

<pre><code>kind: Pod
apiVersion: v1
metadata:
  name: nfs-in-a-pod
spec:
  containers:
    - name: app
      image: alpine
      volumeMounts:
        - name: nfs-volume
          mountPath: /var/nfs # Please change the destination you like the share to be mounted too
      command: ["/bin/sh"]
      args: ["-c", "sleep 500000"]
  volumes:
    - name: nfs-volume
      nfs:
        server: nfs.example.com # Please change this to your NFS server
        path: /share1 # Please change this to the relevant share
</code></pre>

<p>I am confused: </p>

<ul>
<li>Is this syntax creating a PVC under the hood?</li>
<li>Or is any PV matching the spec mounted without a PVC?</li>
<li>Or perhaps the spec selects an existing PVC?</li>
</ul>

stackoverflowed
<p>The various kinds of things you can mount are part of the <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#volume-v1-core" rel="nofollow noreferrer">Volume</a> object in the Kubernetes API (which is part of a <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#podspec-v1-core" rel="nofollow noreferrer">PodSpec</a>, which is part of a <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.16/#pod-v1-core" rel="nofollow noreferrer">Pod</a>).  None of these are an option to mount a specific PersistentVolume by name.</p>

<p>(There are some special cases you can see there for things like NFS and various clustered storage systems.  Those mostly predate persistent volumes.)</p>

<p>The best you can do here is to create a PVC that's very tightly bound to a single persistent volume, and then reference that in the pod spec.</p>
