Kubernetes allows you to mount block storage volumes for storing files. But each volume can only be mounted to a single server instance (pod). So if you want multiple pods to access your volume, you need to configure and deploy an NFS service. In which world is this simple, convenient, or straightforward?
This isn't really correct.
So first, if you have a block-based volume (for which the host machine is doing block dev → filesystem), it should make some inherent sense that it can only be mounted by a single pod: it can only be attached to a single VM at a time, as otherwise the two FS drivers would corrupt the volume.
Outside of that, there are volume types you can mount multiple times in multiple pods. E.g., Azure Files. These are essentially NFS volumes, but since they're "aaS" you don't need to "deploy an NFS service", you just ask for the volume in k8s and it'll provision it.
Comments
This isn't really correct.
So first, if you have a block-based volume (for which the host machine is doing block dev → filesystem), it should make some inherent sense that it can only be mounted by a single pod: it can only be attached to a single VM at a time, as otherwise the two FS drivers would corrupt the volume.
Outside of that, there are volume types you can mount multiple times in multiple pods. E.g., Azure Files. These are essentially NFS volumes, but since they're "aaS" you don't need to "deploy an NFS service", you just ask for the volume in k8s and it'll provision it.