Alternatively, is there a way to use the Docker storage driver as a Kubernetes storage driver in the pod deployment YAML?
My goal is to have a Kubernetes persistent volume claim using a Storj DCS - backed Kubernetes persistent volume where the storage driver implements Uplink Go library directly or to mount a Storj DCS bucket directly on a pod using the Storj driver for Docker.
Do you have an opinion about which would be better? With more thought it seems like mounting directly on the container is most efficient and a more discrete allocation of the storage resource (a bucket with a more specific purpose), but it also seems like a general-purpose Storj bucket as a k8s persistent volume could make sense, even if slightly less performant.
It’s certainly relevant because it would allow me to backup and restore my k8s storage with Velero, but I’m after a realtime storage solution that’s backed by Storj.
The storage driver itself for Kubernetes (or more precisely the implementation of Container Storage Interface) is very lightweight. Doesn’t really specify how the storage should be mounted. It’s just an interface to create volume and/or mount the volume.
It depends on the implementation how is it mounted.
Therefore the tricky part in supporting any new storage is the mounting, not the CSI itself.