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.

  • twei@feddit.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Why not use both? I have PVE installed on all of my hosts and then use k3s/docker in VMs. If there ever is anything you don’t want to or just can’t deploy as a container (e.g. opnsense, hassio, truenas, windows [for whatever reason you might have]), you can just spin it up as a VM and not worry about adding and maintaining another physical machine

  • LetMeThinkAboutIt@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Why not do both ? As I understand it, to do kubernetes clusters, you must have at least 3 hosts. They don’t need to be 3 different physical hosts: they could be VM (hosted on Proxmox).

    Proxmox also having a very strong implementation of ZFS, then it could be used as the storage « host », and it gives you also the option to do snapshots of the VM (and the storage pool), as well as replication/etc.

    • aksdb@feddit.de
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 year ago

      They don’t need to be 3 different physical hosts: they could be VM (hosted on Proxmox).

      That is fine for training purposes, but not for real hosting. You typically don’t guard against software crashes, but against hardware failures/outages. And this it not given with all three nodes on the same physical system.

      In that case you can simply skip the HA setup and go with a single node. Or not use k8s at all and just manage containers using ansible and systemd or whatever.

  • Max_Power@feddit.de
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    It depends on your use case and what you are trying to achieve.

    You do not need k8s (or k3s…) to use containers though. Plain old containers could also suffice, or Docker Swarm if you need some container orchestration functionality.

    Trying to learn k8s would be a good reason to use k8s though :)