• 0 Posts
  • 12 Comments
Joined 11 months ago
cake
Cake day: October 28th, 2023

help-circle

  • Spooler32@alien.topBtoHomelabCluster/Distributed OS for homelab
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    I do all of this with kubernetes. For VM workloads, I use kubevirt (which is libvirt controlled by kubernetes). It runs extremely well, is lightweight, and it’s very consistent to operate.

    At one point I had a lot more layers to this. As I became more competent and aware use the ecosystem, it all flattened into bare metal kubernetes.


  • Doesn’t seem like a problem unless the gitops controller is managing repositories too.

    This isn’t a cyclic dependency, and doesn’t affect failure modes. If the git server fails, the gitops controller fails or waits.

    It’s a bit more of a problem if the cluster IaC itself is managed using this git instance, but that’s easy enough to solve with backups or not doing that.

    Since this is a home lab, none of this is problematic. Feel free to condense everything - even the backup controller. Just make sure you have a way to access data and manually intervene if it shits the bed.







  • Hm, Docker isn’t very good at this. It’s good at runnign one process or a few related processes with a smaller init system like S6, but not good at running a full system with its own init and system handlers.

    Lots of stuff will break, because it’s expected that a lot of system-level initialization will be taking place. Docker is too opinionated when it comes to this, because it expects to be running on a system that has already been initialized.

    Look to LXC or LXD. It’s more appropriate for this, and while it’s a container system it’s more like virtualization than application containerization. It’s also designed to be mutable, which is the main limitation you’re running up against.


  • NextCloud, Plex, Minio (s3, backed by Linstor), NFS CSI driver, Linstor (DRBD), Pacemaker (HA NFS server, backed by Linstor).

    Linstor controls the block layer and transport, as well as providing a FS-agnotic replication layer. NFS is used for HDD-backed file storage, and is extremely simple and reliable due to the stateful cluster that controls it. S3 is used by various applications, as it’s easy as hell to implement clients for. S3 has an SSD and HDD tier, as well as an AWS-replicated tier. S3 is where my backups go (Velero).