-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run NFS servers in-cluster #50
Comments
I started mucking around with this and it seems to work. I'm using nfs-ganesha-server-and-external-provisioner and the only issue I ran into was their image is wrong or misconfigured (403). nfs-ganesha-server-and-external-provisioner#6 suggests reverting to the previous image and that seems to work, it lets me make PVCs. I have it deployed on AWS in a storageClass with |
For AWS, we should just use EFS. It's managed, performance is acceptable, doesn't cost if we don't use it, and is well supported. It doesn't support per-user quotas, but that's ok for now. Google File store has a minimum disk commitment of 1TB, which is unfortunately pretty expensive. |
I have one of these running with EFS for a little while with efs-provisioner. If it is useful I have some terraform terraform to add the EFS mountpoints etc. |
I think on AWS, EFS is the way to go and is a solved problem for the most part. On GCP, currently we do the following:
We currently have something like this running on all our GCP clusters. They're all brittle, and hand maintained, and subtly different I'm sure. On our Azure cluster, we have this ansible playbook to use - but attempts to use that with |
We have a few options on how to do this.
My current intent is to go with (1) |
After reading a little bit about the 3 options, that seems a sensible choice, IMHO. |
Description
We currently run a separate, hand-rolled VM for NFS.
Instead we should run an in-cluster NFS server - one per cluster
most likely (for overprovisioning reasons).
I'm slightly concerned here, since the NFS server node going down
means all the hubs are out. But that's also true for the proxy,
nginx-ingress & other pods, so probably something we should be ok
with.
Benefit
Our current setup (separate VMs for NFS) is a single point of failure, not repeatably built, and a bit icky.
It also runs a VM fulltime, without a lot of resource utilization.
This change would make it easier to set up a cluster and go, and makes our whole set up a lot more
repeatable.
This will also let us add features we wanted for a while:
Implementation details
We should watch out for accidental deletion - maybe make sure
the PV isn't deleted when the PVC is?
I'd like to use nfs-ganesha
for this, so I don't have to run a privileged container for
nfs-kernel-server
.Seems to get wide enough use.
Tasks to complete
The text was updated successfully, but these errors were encountered: