longhorn
nfs-subdir-external-provisioner
Our great sponsors
longhorn | nfs-subdir-external-provisioner | |
---|---|---|
59 | 43 | |
4,386 | 1,671 | |
3.2% | 4.6% | |
8.2 | 5.8 | |
7 days ago | 20 days ago | |
Shell | Shell | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
longhorn
-
Just finished migrating my old tower servers to a Kubernetes cluster on my new rack!
For my primary CSI provider, I use Longhorn, and to administrate my clusters, I use the Kubernetes Dashboard. In front of all of my private dashboards, I use Traefik Forward Auth to limit who can access them.
-
NAS on a cluster
Maybe with https://longhorn.io
-
TopoLVM to provide local storage
For data must be protected, I use Longhorn https://longhorn.io/ which is basically iSCSI/NFS with replication.
-
Homelab and Long Term Data Integrity?
Backups are definitely necessary. The problem though is that you cant detect by default if you are backing up corrupted data. By now i found three approaches: 1. Use a filesystem that detects and fixes errors (e. g. btrfs or zfs) 2. Use par2 (parchive) to generate checksums on your files manually 3. I found the following issue on the k8s storage solution I currently use: https://github.com/longhorn/longhorn/issues/3198 For now I am waiting for option 3 getting merged. In the long run I will upgrade my laptop to btrfs and for now use par2. Hope that provides a starting point. Feel free to add your ideas!
-
Change SSH port
You can use the Longhorn iSCSI installer script as an example. https://github.com/longhorn/longhorn/blob/master/deploy/prerequisite/longhorn-iscsi-installation.yaml
-
Learning with K3s at home. "Best" storage option for a single-node cluster?
Rancher's Longhorn (even though it's only a single-node)
-
Running Kubernetes cluster locally to self host a bunch of applications along with a DNS server
Application storage now: yes, NAS is probably the best way to go about it. I believe k3s uses some kind of "local storage" by default but there's plenty of alternative Container Storage Interfaces (CSI) out there. Longhorn worked well for me and it covers most uses cases I care about: snapshots, backups, and replication. I don't know about any "NAS providers" though, and once again there will be performance drawbacks with having your storage that externalized.
-
Advice on system design best practices?
For me longhorn works really well as my storage backend.
-
Install and configure a high available Kubernetes cluster with Ansible
Longhorn is a lightweight, reliable, and powerful distributed block storage system for Kubernetes.
-
What selfhosted packages are you using?
You mentioned storage... That's always tricky but provisioning persistent volumes with https://longhorn.io is really simple... It's also easy to setup, the helm chart is wonderful
nfs-subdir-external-provisioner
-
Longhorn alternatives
Depends on how much resiliency you need . Something like https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner works well for a lab or non-prod cluster. You could even use something like this in prod if you have access to highly reliably NFS mounts.
-
Move to K8s for hosting at home?
I used the NFS provisioner for persistent volumes until I got the Ceph side up and running. I created a share on my NAS specifically for k8s. It worked very well and had the bonus of being just a regular file system that you could browse/edit easily (just place files in or edit config). I would agree with not moving plex into k8s. I right now just have a barebones 1 control 2 worker setup using k3s.
-
Unsure how NFS Persistent Volumes work, please help!
This is what you need https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner Point it to a folder and it will create subfolders for each PVC.
-
Almost 1yr in the making, finally got my Kubernetes DevOps/IaC/CD set up going, fully self-hosted cloud equiivalent. GLEE!!! (AMA?)
nfs-subdir-external-provisioner: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
-
Network Storage on On-Prem Barebones Machine
With NFS I was able to get that to work using NFS SubDir Provisioner and this is working fine as far as I can tell. Though it is odd how it works. You dont seem to be able to tell the exact path you're going for, so you have to create a provisioner that goes to the path directly and even it will create its own folder with a GUI associated to it. This really isnt idea for things like scripted backups, or even knowing how persistence works properly.
- Template like values in CSI manifest ${.PVC.namespace} and ${.PVC.name} ... Somebody give me some insight into these?
-
Longhorn to nas nfs
I have also used: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner for playing with NFS, directly from K8, instead of hosts.
-
K8s Persistant Storage
Then nfs is the way to go. Im using this one https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner at home with k3s. works fine for my usecases. I havent tested snapshots and restores yet.
-
K3s v MicroK8s
so I'm in Cybersecurity right now.. but I'm trying to pivot my career and I'm just in love with K8s / I think its a good future proof tech to learn. my current lab is 3x physical nodes running vmware (VMUG) then I built some ubuntu vms and installed microk8s. Everything seems to work really well. I had/have nfs-subdir-external-provision up and running. I've also tested it so that if I drain a node the pod is recreated on another node just fine and the pv/c works great. I've been trying to figure out why this is a bad solution vs using longhorn/OpenEBS. Sounds like NFS vs iSCSI is the answer.
What are some alternatives?
rook - Storage Orchestration for Kubernetes
csi-driver-nfs - This driver allows Kubernetes to access NFS server on Linux node.
zfs-localpv - CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using ZFS.
nfs-ganesha-server-and-external-provisioner - NFS Ganesha Server and Volume Provisioner.
csi-s3 - A Container Storage Interface for S3
postgres-operator - Production PostgreSQL for Kubernetes, from high availability Postgres clusters to full-scale database-as-a-service.
k3s - Lightweight Kubernetes
k3sup - bootstrap K3s over SSH in < 60s 🚀
loki - Like Prometheus, but for logs.
harvester - Open source hyperconverged infrastructure (HCI) software
metallb - A network load-balancer implementation for Kubernetes using standard routing protocols