Once again, we're talking about the storage model in Workbench
Jira | ||||||
---|---|---|---|---|---|---|
|
With the advent of the Zonca method for deploying JupyterHub over Rook, we revisit Rook (Starting with 0.6). This at first looked quite promising – a straightforward helm based install provided near immediate support for PVCs (for the single-use volume scenario). Shared filesystem support proved less exciting. We spent cycles troubleshooting what amounts to an unclear setting in the examples (metadataPool replication number needs to match the number of storage nodes). There's also the 4.7 kernel requirement, which is a good thing, but multiple shared filesystems are still experimental. After some initial investigation we're back to the question of whether these complex methods are really any better than an NFS fileserver.
Here's what we know
A few notes:
- We have Rook working via the Zonca method effectively for JupyterHub
- We now have Rook shared storage via flexVolume thanks to Rookto Mike's work and the Rook
- But this caused some hair pulling, and realization that under the covers Ceph is perhaps more complex than Gluster
- We know that AWS EFS supports NFSv4 (and probably SMB)
- EFS appears to be the only ReadWriteMany storage option with PVC support
- We know that GCE Filers support NFS, SMB and Gluster
- GCE has no built-in read-write-many storage option for Kubernetes
- https://cloud.google.com/solutions/filers-on-compute-engine
- We know that AzureDisk supports SMB
- We've discussed two broad options
- Try and get rook running everywhere (OpenStack, AWS, GCE, Azure)
- Replace current GlusterFS with NFS and rely on existing fileservers
- EFS appears to be the only ReadWriteMany storage option with PVC support
- file servers implementations
Getting rook running everywhere
...
- Should work for AWS via EFS or GCE via file server. Unclear whether NFS will work with AzureDisk.
- See also GCE example for Jupyterhub using filer https://cloud.google.com/solutions/using-tensorflow-jupyterhub-classrooms
- Will require work to deploy fileserver via terraform for OpenStack.