Install Rancher on AWS EKS

Is it possible/recommended to deploy rancher on an existing AWS EKS cluster so that it can run off of that, instead of managing it’s own EKS cluster? I haven’t seen any mention of this, but presumably it would make an HA installation a bit more available.

1 Like

Would be awesome to use Rancher on EKS, that would make me more confident in running production workloads on Rancher. Unfortunatelly there’s no documentation for that. :confused:

I’d like to do this too. Any guidance from others who’ve done this or from Rancher folks would be appreciated.

It’s a fairly straightforward process

I followed https://eksworkshop.com/ to get my first EKS cluster setup and the right tools installed, including Helm.

I then installed an nginx ingress

helm install stable/nginx-ingress --name rancher-nginx --set rbac.create=true

and finally I followed the Rancher instructions for installation with Helm (https://rancher.com/docs/rancher/v2.x/en/installation/ha/helm-rancher/). In our case I used certificates from a file, ran Rancher in the same namespace as the ingress and had to specify the ingress class via ingress.extraAnnotations. e.g.

helm install rancher-stable/rancher --name rancher  --set hostname=rancher.example.com --set ingress.tls.source=secret --set ingress.extraAnnotations."kubernetes\.io/ingress\.class"=nginx

It is possible to run rancher from an existing EKS cluster, using helm to deploy as described. We are doing this for our dev environment. However, be aware that Rancher uses ECTD as its storage. As far as I am aware, AWS has not provided any access to the ECTD cluster, so you cannot backup/restore/migrate using default k8s tools.

You might be able to export all the relevant objects using kubectl, but I am not sure if this is actually possible yet. You would have to determine what are all the objects managed by rancher and hope to be able to export and import them into a new ectd cluster. We are looking at this for a migration, but not too seriously yet. I’d love to hear if anyone has a solution for this.