A copy on each node

A volume of this driver is a directory on each node, not one shared directory. A pod gets the copy on the node where it runs. The copy stays on that node when the pod leaves, and a pod that comes back to that node finds it again. A pod on a different node gets that node’s copy, which starts empty. The driver never copies data between nodes.

So the driver fits a workload that can fill an empty copy by itself:

For any other workload, a file that one pod writes is missing when the pod moves to another node.

The driver has no controller and provisions nothing. You write a PersistentVolume that names the driver and the volume’s handle, and a PersistentVolumeClaim that binds to it. Use the access mode ReadWriteMany for a volume that pods on many nodes mount, because each node writes only its own copy, or ReadWriteOncePod for a volume that one pod at a time mounts. The driver allows one pod on each node to mount a volume. Each copy is kept under /var/lib/liken/pod-storage, on the partition that the node’s Machine declares for pod storage. A machine that declares no such partition keeps it in memory, so the copy is lost when the machine reboots.