News for hackers. Stuff that matters.
Re:Teaching Kubernetes by shaklee3 on Sunday February 19, 2017 @10:42AM (#13680185)
Maybe you or someone else can help me understand the use case for a load balancer. I have an application where it has a very high rate of ingress traffic. So much so that while a load balancer sounds like it's ideal, a single node (the balancer) would not be able to handle the traffic. Is the load balancer only useful for applications with a low ingress rate that you're trying spread across many servers?
Re:Teaching Kubernetes by lobster_johnson on Sunday February 19, 2017 @02:09PM (#13681313)
How much traffic are we talking about? Google Cloud Platform's load balancers (which sit outside of Kubernetes and are replicated geographically) are designed for quite a high load of traffic.

Either way, your client has to know what pod (group of Docker containers running your app) to send traffic to. The pods run on hosts and ports that aren't fixed in time. So if you want some kind of client-resolving load balancing without involving a central bottleneck on the server, you'd have to transport that inventory of pod-host-ports to the client, and then either provide a host-based proxy or open the ports on the nodes themselves. And of course you'd have to build the balancing/failover logic into the client (which would either have to be randomly distributed, or rely on resource utilization info fetched from Kubernetes).

That may be great for some narrow use cases, but for most applications, the load balancing pattern is much simpler.

Re:Teaching Kubernetes by shaklee3 on Wednesday February 22, 2017 @01:12AM (#13703444)
Do you know the details of that? On their site they talk about balancing in terms of queries per second on big query. What is that equivalent to in terms of Gbps?
Re:Teaching Kubernetes by hashkb on Sunday February 19, 2017 @11:04AM (#13680289)
Without a load balancer, how do you currently spread the load over multiple nodes in your app?
Re:Teaching Kubernetes by shaklee3 on Sunday February 19, 2017 @12:42PM (#13680804)
If you have control over the sender, you can, right? That's my use case and maybe that's why I don't see the value.
Re:Teaching Kubernetes by hashkb on Sunday February 19, 2017 @01:42PM (#13681163)
I see. A lot of us I think assume we are talking about web apps or mobile apps where you don't.
Re:Teaching Kubernetes by predakanga on Monday February 20, 2017 @02:07AM (#13685069)
Load balancers are particularly useful when it comes to cloud applications because they let you keep your routing logic server-side, meaning that you can make adjustments quickly without needing to release a new client version.

Your load balancer definitely shouldn't be a bottleneck - you can deploy multiple LBs to handle the traffic and provide redundancy, though you need to use other methods to balance between them (DNSRR, anycast, etc).

Re:Teaching Kubernetes by sandGorgon on Sunday February 19, 2017 @01:44PM (#13681169)
great question!

kubernetes pretty much mandates either an LB because it is offloading the ingress job to a machine which can talk to the outside world and the VPC simultaneously. Otherwise you either get into complex hostport/nodeport/hostnetwork semantics... or use an ingress.

In the k8s world, there is not many simpler alternatives.