Is it possible to control up address used for xip links?

I have just brought up a small cluster locally and have noticed that my xip links aren’t working as expected (or my expectations are wrong).

I have 3 hosts, .195, .196 and .197. The rancher server is on 195 and listening on 80 and 443 as standard.

When I create an endpoint with xip it’s directing to 80/443 on 195, and therefore everything is getting the rancher ui.

This is my first time with k8s outside a cloud, but I think if I could have xip using 196 then everything should work.

How can I change it, or am I barking up the wrong tree?

The xip links expose the nodes’ ips of the ingress. Since ingress is running on all 3 of your nodes your service is reachable at each of your nodes. Therefore, it should not make a difference, if you’re using 195, 196, or 197 in the xip link.
It also might be the case for your Rancher server, that it blocks the ingress on 195, therefore you’re only able to reach Rancher UI only on 195.
I have an external loadbalancer (config) for Rancher UI and for the ingressed workloads with all ingresses as backends.

So a “simple” solution would be to expose Rancher ingress on different port, or to disable ingress on .195 node (with labels and selectors).

Hope this helps,

Thanks, it does make sense, and gives me a starting point for playing with it. Presumably if I disable ingress on 195 then presumably the inbuilt nginx ingress is going to rewrite to the correct ip anyway, or am I routing traffic through one node into the other- they’re only on a 1gb network, so that might be a bottleneck in which case I can do an external balancer.