Feature request: Kubernetes CSI driver

Many storage providers, including FreeNAS, now come with a Kubernetes Container Storage Interface driver. This allows storage to be managed declaratively in kubernetes yaml files. Would be great to add Rockstor to this list.

Most implementations of this, eg FreeNAS’, are on github, so hopefully not too hard to adapt. This project’s documentation links should help get started. Would satisfy other’s calls to “link shares to persistent volumes and persistent volume claims”.

Generally, this is only a great idea if a company has a huge investment in unified storage based on Rockstor and wants to stay that way. It doesn’t provide any benefit to the single machine deployments, which remain impossible.

Not really. What I am describing there is a system where users could deploy Rockstor and get Kubernetes for free. Heck, Kubernetes could be packaged as a Rock On for all that matters, which would satisfy your call for not adding weight to the Rockstor deployment.

It’s a lot of overhead to run k8s on top of something else. Much like running vms which would need to happen here for this to work (if we did that then you can use kubespray to install k8s on top). You can use nfs from
Rockstor as a storage driver for k8s already though. You could also write some rockons for etcd and coredns perhaps. Having the entire platform be an all in one k8s is an idea but it’s a massive rewrite and btrfs isn’t native on k8s. Honestly I think an GUI based storage controller is something k8s still lacks. I’m a huge fan of k8s and demo it quite a bit but I think having kvm and ovirt provide vms that comprise the nodes would be the best approach here. I think I’ve also gotten kvm working in the past but it was a bit of work.
Rockstor right now uses centos7 with the 4 kernel and you can drop to shell and modify things so it’s possible. However, I have three servers running ovirt that do a better job and honestly my demos are usually on my Mac with hyperkit or on aws with 3-7 nodes.
Another thought was moving to ceph or another storage platform but I think the direction on rockstor is to move to suse or another os for better btrfs support. Other than zfs (which is going to be a licensing nightmare and a game of chicken) I haven’t seen a great alternative for what btrfs does. I just wish red Hat hadn’t bailed on it a few years ago.

Feel free to disagree here. These are just my thoughts and I’m not the owner of rockstor.

only a great idea if a company has a huge investment in unified storage based on Rockstor

I don’t understand. Anyone who wants to serve storage to k8s from open-source btrfs would want this, large or small.

Our suggestions are not mutually exclusive. I’m suggesting Rockstor serve k8s with storage, you are suggesting replacing docker with k8s. Both can be done. It’s a question of priorities. Like @magicalyak says, yours might be more of a rewrite and adds overhead\hardware requirements.

You can use nfs from Rockstor as a storage driver for k8s already though

Yeh, but it’s nowhere near as nice as CSI. Using NFS breaks the k8s zen of achieving anything with a little yaml.