-
Notifications
You must be signed in to change notification settings - Fork 560
Azure Load Balancer - Public IP Limitation #737
Comments
+1 |
This is an azure platform limitation per load balancer, and you can only have one load balancer per availability set. |
@anhowe but using only one availability set in a Kubernetes cluster does not really make sense, does it? |
@Knappek Can you provide more of a description of what doesn't make sense? Maybe you are suggesting that one potential solution is for the cloud provider to understand how many agent pools exist, and check for an available slot on each agent pool. So if you add 10 agent pools, you can potentially have 10 LBs, and 100 external IPs. Note that you will need to use at least 1 VM per agent pool. |
@anhowe yes that is what I would expect, but it sounds not trivial to me to have such a setting as same kind of pods need to be deployed in the same AS and if a pod of a replica set stops working the new pod needs to get deployed in the same AS. |
Hi, For a microservice architecture where those service are consumed internally you could use only I agree this limitation may feels not optimal if you're planning to build a micro-service architecture with more than a few tens of services per cluster using all of them the same external port and directly exposed to the internet. For the near future I'm considering to start using routing L7 using ingress controller with something like nginx/haproxy, but when you do so you start not having an out of the box cluster and start building a more custom stuff. This is only some personal opinions, I hope those are useful for someone. Thanks! |
the hard limit i 100, so asking support is good way to start. However I found it useful in some scenarios to have separate LB per agentpool |
is this going anywhere? this is pretty ridiculous if you ask me. |
Update: 1.9++ - kubernetes can utilize all the load balancers (from all |
yeah, this is cool, but its pointless. I cant assign ip to another load balancer if I need it on this load balancer. |
yes, i need 11 ips on the load balancer. |
@4c74356b41 there is a limit of "public IPs per load balancer" in Azure. The limit is 10. You should go to portal, check "Activity Log" of resource group your cluster is deployed to and you will notice an error. Just write to support and they will easily increase the limit to 20, 30 or even 100 if required. Hope that solves your problem as it has nothing to to with ACS-e - it's just azure design. The separate case is 1.9++ behavior as you really should have a LB per availability set due to things like number of active connections (below 1.9 everything is forwarded via first agent pool) |
we are adding premium LB support for v 1.11 @feiskyer is working on it. Should solve for this. |
Any news about this subject ? |
Standard load balancer has been supported since v1.11.0, but it's not configurable via acs-engine yet. See #3468 for tracking the process. |
Seems like it was fixed in the #3468 but I still don't see it in the az acs create command. Was someone able to benefit from the fix? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contribution. Note that acs-engine is deprecated--see https://github.com/Azure/aks-engine instead. |
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT
Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes
What happened:
When a Kubernetes Service with type=LoadBalancer is created, it allocates a separate Public IP Address on the Azure Load Balancer. We have hit a limitation where one can only attach up to 10 Public IPs on a single Azure Load Balancer and we're getting the error below:
What you expected to happen:
Kubernetes does not limit us on the number of services we can put online. In a microservice architecture, we also believe that 10 services is a little too low.
What we'd like to suggest is that the ACS Engine should be intelligent enough that when the limit has been reached, it could put up another Azure Load Balancer where new services can be exposed.
How to reproduce it (as minimally and precisely as possible):
Create 11 services of type load balancer.
Anything else we need to know:
The text was updated successfully, but these errors were encountered: