'How to configure ingress with multiple nodes?
So, in my case I have 3 nodes in my cluster (1 master node, and 2 worker nodes). I want to configure an ingress, so that one specific route reaches a service on the first worker node, and the other specific route reaches a service on the second worker node. However, that is not possible. When I configure ingress, it is being assigned the address of master node. Therefore, the routing works only with the services available on master node. How can I make my ingress to see services of other nodes as well?
Solution 1:[1]
However, that is not possible. When I configure ingress, it is being assigned the address of master node.
As a general rule, when configuring an ingress, we would see the IP addresses for the nodes hosting your ingress controllers, in their status. This sounds normal.
Eg, with 3 replicas of the nginx ingress controller:
$> kubectl get ingress -n logging
NAME HOSTS ADDRESS PORTS
kibana-kube kibana.example.com 10.42.253.13,10.42.253.14,10.42.253.15 80, 443
Those have nothing to do with SDN IP. They're here to let you know where to connect, as a client/external to cluster.
Therefore, the routing works only with the services available on master node.
Now this has nothing to do with your ingress controller, and rather suggests your SDN does not work. Which you should be able to confirm, opening a shell on your ingress controller (or any other pod running on that master), and trying to connect the ClusterIP or Pod IP directly.
If you didn't deploy an SDN yet: you should
If you don't know which SDN runs in your cluster: check
Knowing which SDN you use: check health for those pods. If there's no obvious logs or events suggesting something's wrong, refer to your SDN docs.
We can't guess much from what you told us so far. Amend your question with your findings.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | SYN |
