Running HA server and worload projects in the same RKE cluster

Hi.
Is it recomended to run rancher server and projects managed by this server in the same cluster?

Right now we have single node install and one single node “cluster”. We’d like to upgrade server infrastructure to more robust solution.
We plan to build 3 (in future more) node RKE cluster managed by HA install of rancher 2.
Is ti possible to use this cluster to rancher server HA install as well?

Rancher HA install (https://rancher.com/docs/rancher/v2.x/en/installation/ha/) describes the way how to setup Rancher in a high availability configuration by using a 3 node Kubernetes cluster setup by RKE. The note on that page says:

IMPORTANT: For the best performance, we recommend this Kubernetes cluster to be dedicated only to run Rancher. After the Kubernetes cluster to run Rancher is setup, you can create or import clusters for running your workloads.

From there, you can create your clusters for your workloads. If you need guidance on setting these up in HA, please see https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/production/

If I’m not cencerned about performance, can I import RKE cluster I just created for rancher? Or maybe create new cluster and import those existing nodes as custom nodes?

I guess having separate rancher cluster helps whit maintenance, upgrades and so on right?

It sounds like you currently have 2 servers: a single node Kubernetes cluster that Rancher is installed in, and a second single node Kubernetes cluster as your “workload” cluster? If those clusters were created initially with RKE, then you can just add more nodes to the cluster.yml file and do an “rke up” and it will add them to the existing cluster.

If you want to add a new cluster, you can create it using RKE, and then import it into Rancher. Later on, you can add more nodes to the cluster as mentioned above.

Right now our rancher server is running on docker only host from one container, co we’ll be building new RKE cluster, and idea is to run workloads in the same cluster.
Is it possible to manage this shared RKE cluster from UI? I mean changes like RKE version update etc.

You can manage any Kubernetes cluster from Rancher. RKE is just one way to create a Kubernetes cluster. You can use Minikube, or any other installer, or even a pre-built cloud cluster. Once you have created a cluster using RKE, you just import it into Rancher, and you can now manage it. After it is imported, you can update the cluster.yml file and re-run rke up, and it will update the cluster with the new settings.

I’m still not sure what you mean by idea is to run workloads in the same cluster. Do you mean that you want to run your workloads in the same cluster that Rancher is running in? If so, then yes, you can do that, although as was mentioned earlier, it is not recommended.

Yes. I wan to to run workloads in the same cluster that Rancher is running in. Why is this not recommended, besides the performacne impact?

Yes. The Rancher container itself takes a lot of resources to run. If your workloads also use a lot of resources, then Rancher itself might get starved, and you may not be able to manage the cluster.

And what about managing this kind of cluster? Can I add nodes, manage rke versions etc. from rancher UI like with imported/managed clusters?

The cluster that Rancher runs in is a Kubernetes cluster like any other cluster you can manage. The Rancher UI is just a deployment that is running inside the Kubernetes cluster.

How you manage the Rancher Kubernetes cluster (or any Rancher managed cluster) depends on how you created it. If you initially created the cluster with RKE, then you can continue to use RKE to add/edit nodes, and upgrade the Kubernetes version. If the cluster was created via a cloud service (GKE, AKS, EKS), then you might need to use that cloud’s interface to upgrade that cluster. If you created a separate cloud cluster via Rancher, then you can use Rancher to upgrade that cluster.

So basicly if I run RKE cluster first and then deploy Rancher server into it and also run my worloads in it, I have to manage it through RKE tools only. Even though this cluster will be visible in Rancher UI.

Yes. Since Rancher did not create the cluster, it cannot manage it, node-wise, or version. It can manage the workloads that run in the cluster, but not the cluster itself. It can only manage clusters that it had created, at least right now. In the future, they might make Rancher able to manage RKE imported clusters.