I’m thinking about starting a self hosting setup, and my first thought was to install k8s (k3s probably) and containerise everything.

But I see most people on here seem to recommend virtualizing everything with proxmox.

What are the benefits of using VMs/proxmox over containers/k8s?

Or really I’m more interested in the reverse, are there reasons not to just run everything with k8s as the base layer? Since it’s more relevant to my actual job, I’d lean towards ramping up on k8s unless there’s a compelling reason not to.

  • redcalcium@c.calciumlabs.com
    link
    fedilink
    English
    arrow-up
    10
    ·
    edit-2
    1 year ago

    Container processes are just ordinary linux processes, so they don’t need extra overhead (cpu and ram reservation) to run, which means your machine can run more of them. If you have a machine with 32GB of ram, can probably run 15 VMs with 2GB of ram each where the actual app running inside the VM might only consume about 50% of the VM ram, or you can run them as container and they all would just consume 15GB of ram, leaving you extra to run more containers. I found this to be ideal for self hosting because all apps are your personal apps so interprocess isolation is not as important compared to running in public cloud.

    • lemmyvore@feddit.nl
      link
      fedilink
      English
      arrow-up
      6
      ·
      1 year ago

      I’ve always been unclear of why people choose to run VM’s. I would think you’d want to try Docker first, LXC second, and VM only in the last instance, if you need to emulate a different architecture? But if the stuff you need to run has been ported to your server’s architecture why add the overhead?

      • med@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        There’s been some nasty buggery with avahi instances on containers clashing with host ones in the past

        Some programs just don’t like to run without access to parts to your system like /proc /sys and /run.

        Rather than bother with crafting bespoke permissions, non-default cgroups and elevated rights for certain containers, I’ve definitely opted for just installing a VM.

        It was always a time/functionality choice, and not one I make often - crafting the right solution is always better; but I have done it