Support for Layer-7 Load Balancing

Support for layer-7 load balancer varies based on the underlying cloud provider.

Cluster Deployment

Layer-7 Load Balancer Support

Amazon EKS

Supported by AWS cloud provider

Google GKE

Supported by GKE cloud provider

Azure AKS

Not Supported

RKE on EC2

Nginx Ingress Controller

RKE on DigitalOcean

Nginx Ingress Controller

RKE on vSphere

Nginx Ingress Controller

RKE on Custom Hosts(e.g. bare-metal servers)

Nginx Ingress Controller

Host Names in Layer-7 Load Balancer

Some cloud-managed layer-7 load balancers (such as the ALB ingress controller on AWS) expose DNS addresses for ingress rules. You need to map (via CNAME) your domain name to the DNS address generated by the layer-7 load balancer.

Other layer-7 load balancers, such as the Google Load Balancer or Nginx Ingress Controller, directly expose one or more IP addresses. Google Load Balancer provides a single routable IP address. Nginx Ingress Controller exposes the external IP of all nodes that run the Nginx Ingress Controller. You can do either of the following:

Configure your own DNS to map (via A records) your domain name to the IP addresses exposes by the Layer-7 load balancer.

Ask Rancher to generate an xip.io host name for your ingress rule. Rancher will take one of your exposed IPs, say a.b.c.d, and generate a host name ..a.b.c.d.xip.io.

The benefit of using xip.io is that you obtain a working entrypoint URL immediately after you create the ingress rule. Setting up your own domain name, on the other hand, requires you to configure DNS servers and wait for DNS to propagate.