I've been having trouble understanding how the pricing for NodeBalancer works, the two references points I've been able to find are:
NodeBalancers are only $20.00/mo and support up to 10,000 concurrent connections.
A NodeBalancer is $19.95/mo and can balance multiple ports at no additional cost.
I'm playing around with a k8s cluster right now and the setup I'm following is creating a NodeBalancer for each service I'm configuring to expose via LoadBalancer
So right now there are 5 NodeBalancers configured in my account. Am I going to be paying $20/month for the feature (using 5 free ports), or am I going to be paying $100/month for 5 NodeBalancers?
Those each have their own public IP so I can't imagine they're free and unlimited, but also $20/mo is a lot for just extra IPs that are in aggregate well within the 10K concurrent connections capacity
If the pricing is per-balancer, is there any potential path to managing additional IPs on the same instance and just handling them as different ports?
A single NodeBalancer can have multiple port configurations, each with their own set of backend configurations. If you are creating a completely separate NodeBalancer, you will pay $20 per NodeBalancer; if you're just creating another port configuration on the same NodeBalancer, then you'd just pay for the one. I don't recall if the 10,000 concurrent connections limit is per port or per NodeBalancer.
Is it correct that there is no way to have ports with different IPs on the same NodeBalancer? A separate NodeBalancer is needed per each IP?
My use case is migrating several legacy applications to containers, I need to maintain what ports these applications expose services on and just distribute a new IP for each. I'd love to be able to buy additional IPs for just one NodeBalancer and just select IP+Port when defining ports in it. Needing to give each application its own $20/mo NodeBalancer just to have their exposure on different IPs managed kills a lot of the savings of moving them to containers, so I'd need to just roll my own load balancer within a VM if there's no way to just use one NodeBalancer and map different services to the same port on different IPs
You are correct in that additional IP addresses aren't able to be assigned to a NodeBalancer. An option that may work is assigning multiple private IP addresses to the backend servers and have your applications point to the new addresses and ports, after hitting the NodeBalancer.