diff --git a/pkg/cloudprovider/providers/azure/azure_loadbalancer.go b/pkg/cloudprovider/providers/azure/azure_loadbalancer.go index cc26d2a211d37..5e28357e85f2f 100644 --- a/pkg/cloudprovider/providers/azure/azure_loadbalancer.go +++ b/pkg/cloudprovider/providers/azure/azure_loadbalancer.go @@ -756,6 +756,19 @@ func (az *Cloud) reconcileLoadBalancer(clusterName string, service *v1.Service, glog.V(2).Infof("ensure(%s) abort backoff: lb(%s) - updating", serviceName, lbName) return nil, err } + + if isInternal { + // Refresh updated lb which will be used later in other places. + newLB, exist, err := az.getAzureLoadBalancer(lbName) + if err != nil { + glog.V(2).Infof("getAzureLoadBalancer(%s) failed: %v", lbName, err) + return nil, err + } + if !exist { + return nil, fmt.Errorf("load balancer %q not found", lbName) + } + lb = &newLB + } } }