<p><strong>Example:</strong></p>
<p><strong>Namespace: a</strong></p>
<pre><code> PVC: a-pvc
 Pod: main-pod-to-work-with
</code></pre>
<p><strong>Mounts:</strong></p>
<pre><code>a-pvc; name: a-pvc-mount; path: /pvc/a-files
b-pvc; name: b-pvc-mount; path: /pvc/b-files
c-pvc; name: c-pvc-mount; path: /pvc/c-files
</code></pre>
<p><strong>Namespace: b</strong></p>
<pre><code> PVC: b-pvc
</code></pre>
<p><strong>Namespace: c</strong></p>
<pre><code> PVC: c-pvc
</code></pre>

<p>[<strong>TL;DR</strong>]
In the same <code>namespace</code>, one <code>PVC</code> can be re-used by two or more different <code>pod</code>s. However, it is impossible for a <code>pod</code> to mount volumes based on <code>PVCs</code> from two different <code>namespaces</code> (that would violate the main idea behind <code>namespace</code>s - isolating resources allocated to different users).</p>
<p><strong>More info</strong></p>
<p>As per <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#introduction" rel="nofollow noreferrer">Persistent Volume</a> docs:</p>
<blockquote>
<p>A <strong>PersistentVolume</strong> (PV) is a piece of storage in the cluster that has been provisioned by an administrator or dynamically provisioned using Storage Classes.</p>
<p>A <strong>PersistentVolumeClaim</strong> (PVC) is a request for storage by a user.</p>
</blockquote>
<p>Bit lower in documentation you have <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/#binding" rel="nofollow noreferrer">Binding</a> part, where you can find information:</p>
<blockquote>
<p>Once bound, PersistentVolumeClaim binds are exclusive, regardless of how they were bound. A PVC to PV binding is a one-to-one mapping, using a ClaimRef which is a bi-directional binding between the PersistentVolume and the PersistentVolumeClaim.</p>
</blockquote>
<p><code>Pod</code> and <code>PVC</code> are <code>namespaced</code> resources. It mean's that if you have <code>pod</code> in <code>default namespace</code>, <code>pvc</code> also must be in the same <code>namespace</code>.</p>
<pre><code>$ kubectl api-resources
NAME                              SHORTNAMES   APIVERSION                        NAMESPACED   KIND
...
persistentvolumeclaims            pvc          v1                                true         PersistentVolumeClaim
persistentvolumes                 pv           v1                                false        PersistentVolume
pods                              po           v1                                true         Pod
...

</code></pre>
<p>If you would create <code>pod</code> in <code>default</code> <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/" rel="nofollow noreferrer">namespace</a>, it won't be albe to see resources in other <code>namespace</code>. That's why you need to specify <code>namespace</code> in some commends. If you won't specify it, your output will be from <code>default</code> namespace.</p>
<pre><code>$ kubectl get po
No resources found in default namespace.
$ kubectl get po -n kube-system
NAME                                                        READY   STATUS    RESTARTS   AGE
event-exporter-gke-564fb97f9-wtx9w                          2/2     Running   0          9m2s
fluentbit-gke-8tcm6                                         2/2     Running   0          8m48s
fluentbit-gke-cdm2w                                         2/2     Running   0          8m51s
</code></pre>
<h2>Test</h2>
<p>Based on <a href="https://kubernetes.io/docs/tasks/configure-pod-container/configure-persistent-volume-storage/" rel="nofollow noreferrer">Configure a Pod to Use a PersistentVolume for Storage</a> documentation you have steps to create <code>PV</code>, <code>PVC</code> and <code>Pods</code>.</p>
<pre><code>$ kubectl get po
NAME            READY   STATUS    RESTARTS   AGE
task-pv-pod     1/1     Running   0          5m20s
task-pv-pod-2   1/1     Running   0          4m43s
task-pv-pod-3   1/1     Running   0          2m40s
</code></pre>
<p>Few pods can use the same <code>PVC</code>. But all <code>pods</code> and <code>PVC</code> are in the same <code>namespace</code>. As <code>pod</code> and <code>pvc</code> resources, it's impossible to use <code>pod</code> from one namespace to use resource from another <code>namespace</code>.</p>
<h2>Conclusion</h2>
<p>Kubernetes <code>namespaced</code> resources are visible only for resources in the same <code>namespace</code> (like <code>pod</code> or <code>pvc</code>) In that situation you have specify <code>namespace</code> using <code>--namespace &lt;namespace&gt;</code> or <code>-n &lt;namespace&gt;</code>. There are also cluster-wide resources like <code>PersistentVolume</code> which don't require to specify name as they are visible in whole cluster. To get list of resources to check if it's namespaced you can use command <code>$ kubectl api-resources</code>.</p>
<p>If this didn't answer your question, please elaborate it.</p>
