Rancher server with external etcd

Hello there !

I want to configure a 3-instance Rancher Server on top of Azure. This rancher server will later be used to manage multiple K8s clusters.
For my rancher-server pool, I want to deploy 3 VMs. Each one will have docker configured, and running a single rancher/rancher docker image. I will configure a load balancer which will proxy the traffic to one of these machines.

My problem resides in the fact that I need to have an external etcd.

  • How can I configure that using this approach? I want to avoid having to configure a Kubernetes cluster to run just the rancher server, but I wouldnt mind having to configure this external etcd cluster.



1 Like

Rancher 2.x only supports multiple instances of Rancher server running in a Kubernetes cluster. Unlike 1.6 where you could just run the container and point to an external database.

If you need to use an external etcd, you can use RKE to point to the remote etcd cluster and only assign worker and control plane roles to the three nodes in the Rancher pool. See the RKE example yaml for options.

Why don’t you want to have a Kubernetes cluster for Rancher server? That is exactly how the HA docs recommend to run it. Kubernetes will take care of the orchestration so that if the Rancher container dies, it starts another one on a different node.

This has been working perfectly for us. We have 6 3-node HA Kubernetes clusters; 1 running Rancher, and 5 others being managed by that Rancher instance.

As already pointed out, you can use RKE to have the Rancher etcd database be external, but still have Rancher managed by Kubernetes.