Greetings. We have 3 servers. I setup rke2 by installing rke2-node on 1, then rke2-agent on 2 and 3. This is a dev cluster. Is this a reasonable configuration?
07/05/2022, 8:06 PM
Server VS Agent)
So in RKE2 there are 2 node types: servers and agents. Servers have the kubernetes control plane components, like the apiserver and controller-manager + they have an embedded agent component that runs workloads. Agents are basically worker nodes, but we don't use that terminology. Agents just have containerd and run workloads. See https://docs.rke2.io/architecture/architecture/ for more info.
This depends on what you want to do. There is nothing wrong with a 1+2 (server+agent) arrangement. Everything should work just fine. The question is about scale and load. Depending on how dynamic the cluster requests are, you may end up overloading the single server's ability to handle api requests. And of course you have a single point of failure, if the server goes down, the whole cluster will break.
Comparatively, running a 3+0 config (so just 3 RKE2 servers) in a HA config is also valid. Workloads do run on RKE2 servers, they each have an embedded agent. And if 1 server goes down, the whole cluster does not. They can also handle a larger amount of api requests because you split control plane (CP) load across each node. A downside to this config would be if you have very resource intensive workloads/containers, you may not like having the overhead of running the CP components on node 2 and 3.