Best ways to implement Harvester, Rancher and RKE

Hello there :

We are trying to build a cluster that can handle VMs, Containers and EBS in single interface. I see that there are too many ways to achieve this and these options sometimes are very confusing as well. I would like to put forward a design we are contemplating and would like to pick the brain of the experienced people here.

  1. Harvester
    Implement this as first step.
    All nodes except 2 ( Saved for Rancher management ) should have Harvester installed as a cluster.

  2. Longhorn
    Implement this on Harvester with access to other clusters build on top as well.

  3. Rancher
    Use 2 nodes with BareMetal > OS > Docker Runtime > K3s > Rancher ( for management )
    Separate K3 Cluster is used and not tying to Harvester cluster for decoupling any risks.

  4. Worker clusters
    Add Harvester Cluster to Rancher for centralized management
    Add RKE Clusters through Rancher on top of Harvester for container work loads.

I wish there is a drawing on SUSE website to explain different scenarios. Any other designs and flaws in this are appreciated.

1 Like

I know it’s been a few months since you posted but this post was recently referenced in the Harvester channel of the Rancher Users Slack so now replying hoping it’s of some use to someone.

Back in November 2023 the latest release of Harvester was 1.2.1 so things have changed a bit since then.

Harvester uses Longhorn for it’s own storage so that’s point 1 but not point 2. Adding Harvester to a Rancher (point 4) will allow you to handle VMs and containers.

Unless I’ve misunderstood your requirement, handling additional Longhorn (point 2), separate to Harvester’s own internal use of it, would require additional nodes.

So that leaves point 3, Rancher. You mentioned both Docker and K3s but K3s uses containerd as it’s runtime. Since you’ve mentioned K3s I suspect you didn’t mean to run Rancher as a Docker container (which is okay for development but not supported for production). Best to have 3 nodes rather than 2 nodes, could be virtual (though not VMs within the Harvester cluster you’re managing).