Reputation: 503
Is there a way to be able to provide ReadWriteMany storage without having to implement a storage cluster?
I was able to provide storage with gcsfuse but it is really slow. I need something close to the speed of GlusterFS.
I am currently using GlusterFS.
Upvotes: 5
Views: 3258
Reputation: 1168
Another option: Google Cloud Platform recently started offering a hosted NFS service called Cloud Firestore.
Note that as of this writing, Cloud Firestore is still in Beta.
Here's the description:
Use Cloud Filestore to create fully managed NFS file servers on Google Cloud Platform (GCP) for use with applications running on Compute Engine virtual machines (VMs) instances or Kubernetes Engine clusters.
Create and manage Cloud Filestore instances by using the GCP console or the gcloud command-line tool, and interact with the NFS fileshare on the instance by using standard operating system commands.
Upvotes: 3
Reputation: 3438
You could create an NFS server, and then mount the storage from the server to your nodes/pods. This supports ReadWriteMany as you require. I'm unsure if it's faster or slower than GlusterFS, although this suggests it is faster (with async i.e. the default settings).
You would first need to create an NFS server to provide the storage. The easiest way to do this is to launch a single node file server. There is a 'click to deploy' option for simplicity that you can navigate to from this page.
The shared storage on the NFS server must be exported on the machine before the nodes in the cluster can access it. SSH into the machine, and edit the /etc/exports
file, adding an entry with the IP addresses that require access to the machines storage. Once the /etc/exports
file has been configured, you need to restart the nfs service:
sudo systemctl restart nfs-kernel-server.service
There is a good example here of incorporating the NFS server with Kubernetes pods/nodes.
Upvotes: 1