Merge pull request #103794 from nilo19/bug/cherry-pick-703

fix: Provide IPv6 support for internal load balancer
This commit is contained in:
Kubernetes Prow Robot 2021-07-29 14:41:20 -07:00 committed by GitHub
commit b302770660
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1253,13 +1253,6 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
// construct FrontendIPConfigurationPropertiesFormat
var fipConfigurationProperties *network.FrontendIPConfigurationPropertiesFormat
if isInternal {
// azure does not support ILB for IPv6 yet.
// TODO: remove this check when ILB supports IPv6 *and* the SDK
// have been rev'ed to 2019* version
if utilnet.IsIPv6String(service.Spec.ClusterIP) {
return nil, fmt.Errorf("ensure(%s): lb(%s) - internal load balancers does not support IPv6", serviceName, lbName)
}
subnetName := subnet(service)
if subnetName == nil {
subnetName = &az.SubnetName
@ -1277,6 +1270,10 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service,
Subnet: &subnet,
}
if utilnet.IsIPv6String(service.Spec.ClusterIP) {
configProperties.PrivateIPAddressVersion = network.IPv6
}
loadBalancerIP := service.Spec.LoadBalancerIP
if loadBalancerIP != "" {
configProperties.PrivateIPAllocationMethod = network.Static