/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
In order to access private workload clusters, i.e. workload clusters deployed to private networks where API server is exposed via internal load balancer and accessible only inside of the VNet, some form of private and secure connectivity must me established to the workload cluster.
Currently CAPZ supports VNet peering and e.g. a managment cluster VNet and workload cluster VNets can be peered, which enables the connectivity between the two. While probably the most used and th easiest to setup, VNet peering is not the only way to get connectivity to the private workload cluster.
Even more private, more secure and more precise (more narrowed down access) way can be to use Private Endpoint and Private Link setup. This would be achieved in a following way:
- Private Link Service is deployed in the workload cluster. It exposes access to the API server internal load balancer.
- Consumers of the workload cluster API server then deploy Private Endpoints which can connect to the workload cluster API server's Private Link.
- One example for this can be a management cluster that has a Private Endpoint (alrady supported by CAPZ) that is connecting to the workload cluster Private Link which exposes API server. This way, in addition to VNet peering, CAPZ would have an additional and more secure feature that enables complete deployment of all Azure network resources that are needed for private clusters to be deployed in private VNets and for them to be accessible from management clusters.
Intro to Private Links from Azure docs:
Azure Private Link enables you to access Azure PaaS Services (for example, Azure Storage and SQL Database) and Azure hosted customer-owned/partner services over a private endpoint in your virtual network.
Traffic between your virtual network and the service travels the Microsoft backbone network. Exposing your service to the public internet is no longer necessary. You can create your own private link service in your virtual network and deliver it to your customers. Setup and consumption using Azure Private Link is consistent across Azure PaaS, customer-owned, and shared partner services.
...
Extend to your own services: Enable the same experience and functionality to render your service privately to consumers in Azure. By placing your service behind a standard Azure Load Balancer, you can enable it for Private Link. The consumer can then connect directly to your service using a private endpoint in their own virtual network. You can manage the connection requests using an approval call flow. Azure Private Link works for consumers and services belonging to different Azure Active Directory tenants.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
CAPZ already has support for Private Endpoints, implemented in this PR by @adriananeci.
In that PR, there was #3044 (comment) from @CecileRobertMichon:
wondering if this is something we should look into as a potential improvement for "private" clusters
With Private Links support in CAPZ we would get that improvement and both sides of the Private Endpoint and Private Links setup.
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
In order to access private workload clusters, i.e. workload clusters deployed to private networks where API server is exposed via internal load balancer and accessible only inside of the VNet, some form of private and secure connectivity must me established to the workload cluster.
Currently CAPZ supports VNet peering and e.g. a managment cluster VNet and workload cluster VNets can be peered, which enables the connectivity between the two. While probably the most used and th easiest to setup, VNet peering is not the only way to get connectivity to the private workload cluster.
Even more private, more secure and more precise (more narrowed down access) way can be to use Private Endpoint and Private Link setup. This would be achieved in a following way:
Intro to Private Links from Azure docs:
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
CAPZ already has support for Private Endpoints, implemented in this PR by @adriananeci.
In that PR, there was #3044 (comment) from @CecileRobertMichon:
With Private Links support in CAPZ we would get that improvement and both sides of the Private Endpoint and Private Links setup.