<p>I'm teaching myself Kubernetes with a 5 Rpi cluster, and I'm a bit confused by the way Kubernetes treats Persistent Volumes with respect to Pod Scheduling.</p>
<p>I have 4 worker nodes using ext4 formatted 64GB micro SD cards. It's not going to give GCP or AWS a run for their money, but it's a side project.</p>
<p>Let's say I create a Persistent volume Claim requesting 10GB of storage on <code>worker1</code>, and I deploy a service which relies on this PVC, is that service then forced to be scheduled on <code>worker1</code>?</p>
<p>Should I be looking into distributed file systems like Ceph or Hdfs so that Pods aren't restricted to being scheduled on a particular node?</p>
<p>Sorry if this seems like a stupid question, I'm self taught and still trying to figure this stuff out! (Feel free to improve my <a href="https://github.com/strickolas/tldr/blob/master/kubernetes/02-tldr-ckad.md" rel="nofollow noreferrer">tl;dr doc</a> for kubernetes with a pull req)</p>

<p>just some examples, as already mentioned it depends on your storage system, as i see you use the local storage option</p>
<p><strong>Local Storage:</strong>
yes the pod needs to be run on the same machine where the pv is located (your case)</p>
<p><strong>ISCSI/Trident San:</strong>
no, the node will mount the iscsi block device where the pod will be scheduled
(as mentioned already volume binding mode is an important keyword, its possible you need to set this to 'WaitForFirstConsumer')</p>
<p><strong>NFS/Trident Nas:</strong>
no, its nfs, mountable from everywhere if you can access and auth against it</p>
<p><strong>VMWare VMDK's:</strong>
no, same as iscsi, the node which gets the pod scheduled mounts the vmdk from the datastore</p>
<p><strong>ceph/rook.io:</strong>
no, you get 3 options for storage, file, block an object storage, every type is distributed so you can schedule a pod on every node.
also ceph is the ideal system for carrying a distributed software defined storage on commodity hardware, what i can recommend is <a href="https://rook.io/" rel="nofollow noreferrer">https://rook.io/</a> basically an opensource ceph on 'container-steroids'</p>
