-
Notifications
You must be signed in to change notification settings - Fork 519
feat: enable multiple frontend IPs in Standard LB #3085
feat: enable multiple frontend IPs in Standard LB #3085
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3085 +/- ##
==========================================
+ Coverage 70.64% 70.87% +0.22%
==========================================
Files 147 147
Lines 25430 25472 +42
==========================================
+ Hits 17965 18053 +88
+ Misses 6342 6290 -52
- Partials 1123 1129 +6
Continue to review full report at Codecov.
|
@@ -41,6 +41,8 @@ const ( | |||
DefaultInternalLbStaticIPOffset = 10 | |||
// DefaultEnableCSIProxyWindows determines if CSI proxy should be enabled by default for Windows nodes | |||
DefaultEnableCSIProxyWindows = false | |||
// MaxLoadBalancerOutboundIPs is the maximum number of outbound IPs in a Standard LoadBalancer frontend configuration | |||
MaxLoadBalancerOutboundIPs = 16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dmeytin are you aware of a sensible limit we should put here?
324d937
to
1f333a3
Compare
1f333a3
to
594fa52
Compare
@@ -65,7 +65,8 @@ $ aks-engine get-versions | |||
| gcLowThreshold | no | Sets the --image-gc-low-threshold value on the kublet configuration. Default is 80. [See kubelet Garbage Collection](https://kubernetes.io/docs/concepts/cluster-administration/kubelet-garbage-collection/) | | |||
| kubeletConfig | no | Configure various runtime configuration for kubelet. See `kubeletConfig` [below](#feat-kubelet-config) | | |||
| kubernetesImageBase | no | Specifies the default image base URL (everything preceding the actual image filename) to be used for all kubernetes-related containers such as hyperkube, cloud-controller-manager, pause, addon-manager, heapster, exechealthz etc. e.g., `k8s.gcr.io/` | | |||
| loadBalancerSku | no | Sku of Load Balancer and Public IP. Candidate values are: `basic` and `standard`. If not set, it will be default to basic. Requires Kubernetes 1.11 or newer. NOTE: VMs behind standard SKU load balancer will not be able to access the internet without an outbound rule configured with at least one frontend IP. We have created a loadbalancer with an outbound rule and with agent nodes added to the backend pool, as described in the [Outbound NAT for internal Standard Load Balancer scenarios doc](https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-rules-overview#outbound-nat-for-internal-standard-load-balancer-scenarios) | | |||
| loadBalancerSku | no | Sku of Load Balancer and Public IP. Candidate values are: `basic` and `standard`. If not set, it will be default to "standard". NOTE: Because VMs behind standard SKU load balancer will not be able to access the internet without an outbound rule configured with at least one frontend IP, AKS Engine creates a Load Balancer with an outbound rule and with agent nodes added to the backend pool during cluster creation, as described in the [Outbound NAT for internal Standard Load Balancer scenarios doc](https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-rules-overview#outbound-nat-for-internal-standard-load-balancer-scenarios) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This documentation was stale, updated here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Reason for Change:
This PR enables a configurable number of frontend IP addresses to use for Standard LoadBalancer outbound rules, in order to increase available port allocation for large clusters.
The new interface to use this configuration is a property in the
kubernetesConfig
object. E.g.:// TODO
Outbound SNAT limitations are described here:
https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-connections#multifesnat
Issue Fixed:
Fixes #2377
Requirements:
Notes: