-
Notifications
You must be signed in to change notification settings - Fork 663
IP load balancing #1213
Comments
strawman:
TBD:
|
I'm wondering if users are really interested in "load balancing" when they would probably find for valuable high availability. Infrastructure users are probably not so interested in resolving, for example, Scenario: a container runs some software that connects to Zookeeper, so it connects to So I was wondering if solving the HA problem would be easier for us. Instead of having some routing magic so that any new connecting gets to a running Zookeeper, maybe we could use the same mechanism used by HA systems and just send gratuitous ARP messages and redirect traffic to some other container. As you guys mentioned, we would probably need the concept of service (that would be another issue), but maybe the local Weave router could use the information in the distributed database for detecting if What do you guys think? |
Load balancing and high availability are certainly intricately linked. Both mechanisms are present in the wild: "I don't care who services my request, so long as someone does", and "I'll try servers myself until one works". I don't see one as detracting from the other (and I don't think you're suggesting that). I think it's worth putting your ideas in another issue, since tackling one or the other is a matter of priorities rather than supersession. |
IPVS might give us more sophisticated in-kernel load balancing than "plain" iptables. See also this talk and twitter exchange. |
This user is interested in ensuring that he can have a single endpoint, and use virtual hosting on that single IP address, and then have weave send the traffic to the correct container. |
Permuting DNS records is a means of load balancing, but an unsatisfactory one. Resolvers are in general stupid, and do things like remembering records forever and otherwise ignoring TTLs.
A more generally-applicable means of load balancing is to use virtual IPs. In this scheme, DNS resolves to an IP that is not (necessarily) assigned to a particular host or container interface. Routing rules, or a user-space proxy, then determine which of several non-virtual IPs actually gets the traffic.
Kubernetes uses routing rules with a proxy as a fallback: kubernetes/kubernetes#3760.
The text was updated successfully, but these errors were encountered: