I’d like to get to a docker swarm sort of situation where I have 3 identical docker VMs, running 3 identical Caddy configurations, with 3 identical Apache VMs, and requests load balanced across them. And then I want a shared filesystem so the users can upload the files for their web sites to one location, and it’s made available to all the web front ends.
I’m currently in a mixed environment:
-
#xcpng on bare metal
-
FreeBSD VMs running important services (bastions, email, DNS)
-
#AlpineLinux VMs running docker for all my container-based stuff
So I’m trying to do the shared, highly available FS part of this design and I’d stay with FreeBSD if I could. #selfhosted
I think you’re doing this on hard mode. K8s and Longhorn gets you what you want.
You could try Ceph in your setup, but you’re going to run into issues if your environments aren’t all exactly the same.
K3s is lighter and less complex
Object storage (the S3 API stuff) is the most logical answer here, it’s much simpler and thus more reliable than solutions like Gluster, and the abstraction actually matches your use case. Otherwise something like an NFS share from a central fileserver works too.
But I agree with the other comment that you’re trying to do kubernetes on hard mode and most likely with a worse result.
FreeBSD isn’t going to have the same support as Linux.
Under Linux you could use Ceph or even garage object storage. There are plenty of other options. Maybe you could try to get Linux stuff working on BSD.
Alternatively you could setup a highly available NFS share.