• Kubernetes Submit Queue's avatar
    Merge pull request #51757 from itowlson/azure-load-balancer-subnet-redux · 8a638c6b
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 50294, 50422, 51757, 52379, 52014). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>..
    
    Azure cloud provider: expose services on non-default subnets
    
    **What this PR does / why we need it**: The Azure cloud provider allows users to specify that a service should be exposed on an internal load balancer instead of the default external load balancer.  However, in a VNet environment, such services are currently always exposed on the master subnet.  Where there are multiple subnets in the VNet, it's desirable to be able to expose an internal service on any subnet.  This PR allows this via a new annotation, `service.beta.kubernetes.io/azure-load-balancer-internal-subnet`.
    
    **Which issue this PR fixes**: fixes https://github.com/Azure/acs-engine/issues/1296 (no corresponding issue has been raised in the k8s core repo)
    
    **Special notes for your reviewer**: None
    
    **Release note**:
    
    ```release-note
    A new service annotation has been added for services of type LoadBalancer on Azure, 
    to specify the subnet on which the service's front end IP should be provisioned. The 
    annotation is service.beta.kubernetes.io/azure-load-balancer-internal-subnet and its 
    value is the subnet name (not the subnet ARM ID).  If omitted, the default is the 
    master subnet.  It is ignored if the service is not on Azure, if the type is not 
    LoadBalancer, or if the load balancer is not internal.
    ```
    8a638c6b
azure_util.go 12 KB