Skip to content

Commit 49ff2fc

Browse files
authored
Merge pull request #108059 from zr-msft/ds-endpoint
[Dev Spaces] added endpoint options
2 parents 389fcfb + 0be8bb3 commit 49ff2fc

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

articles/dev-spaces/configure-networking.md

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Configure networking for Azure Dev Spaces in different network topologies"
33
services: azure-dev-spaces
4-
ms.date: 01/10/2020
4+
ms.date: 03/17/2020
55
ms.topic: "conceptual"
66
description: "Describes the networking requirements for running Azure Dev Spaces in Azure Kubernetes Services"
77
keywords: "Azure Dev Spaces, Dev Spaces, Docker, Kubernetes, Azure, AKS, Azure Kubernetes Service, containers, CNI, kubenet, SDN, network"
@@ -46,7 +46,7 @@ Azure Dev Spaces allows you to communicate directly with a pod in a dev space on
4646

4747
### Ingress only network traffic requirements
4848

49-
Azure Dev Spaces provides routing between pods across namespaces. For example, namespaces with Azure Dev Spaces enabled can have a parent/child relationship, which allows network traffic to be routed between pods across the parent and child namespaces. For this feature to work, add a network policy that allows traffic between namespaces where network traffic is routed, such as parent/child namespaces. Also, if the ingress controller is deployed to the *azds* namespace, then the ingress controller needs to communicate with pods instrumented by Azure Dev Space in a different namespace. For the ingress controller to function properly, network traffic must be allowed from the *azds* namespace to the namespace where the instrumented pods are running.
49+
Azure Dev Spaces provides routing between pods across namespaces. For example, namespaces with Azure Dev Spaces enabled can have a parent/child relationship, which allows network traffic to be routed between pods across the parent and child namespaces. Azure Dev Spaces also exposes service endpoints using its own FQDN. To configure different ways of exposing services and how it impacts namespace level routing see [Using different endpoint options][endpoint-options].
5050

5151
## Using Azure CNI
5252

@@ -60,6 +60,23 @@ AKS clusters allow you to configure additional security that limits which IP add
6060

6161
At this time, Azure Dev Spaces is not supported with [AKS private clusters][aks-private-clusters].
6262

63+
## Using different endpoint options
64+
65+
Azure Dev Spaces has the option to expose endpoints for your services running on AKS. When enabling Azure Dev Spaces on your cluster, you have the following options for configuring the endpoint type for your cluster:
66+
67+
* A *public* endpoint, which is the default, deploys an ingress controller with a public IP address. The public IP address is registered on the cluster's DNS, allowing public access to your services using a URL. You can view this URL using `azds list-uris`.
68+
* A *private* endpoint deploys an ingress controller with a private IP address. With a private IP address, the load balancer for your cluster is only accessible from inside the virtual network of the cluster. The private IP address of the load balancer is registered on cluster's DNS so that services inside the cluster's virtual network can be accessed using a URL. You can view this URL using `azds list-uris`.
69+
* Setting *none* for the endpoint option causes no ingress controller to be deployed. With no ingress controller deployed, the [Azure Dev Spaces routing capabilities][dev-spaces-routing] will not work. Optionally, you can implement your own ingress controller solution using [traefik][traefik-ingress] or [NGINX][nginx-ingress], which will allow the routing capabilities to work again.
70+
71+
To configure your endpoint option, use *-e* or *--endpoint* when enabling Azure Dev Spaces on your cluster. For example:
72+
73+
> [!NOTE]
74+
> The endpoint option requires that you are running Azure CLI version 2.2.0 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
75+
76+
```azurecli
77+
az aks use-dev-spaces -g MyResourceGroup -n MyAKS -e private
78+
```
79+
6380
## Client requirements
6481

6582
Azure Dev Spaces uses client-side tooling, such as the Azure Dev Spaces CLI extension, Visual Studio Code extension, and Visual Studio extension, to communicate with your AKS cluster for debugging. To use the Azure Dev Spaces client-side tooling, allow traffic from the development machines to the *azds-\*.azds.io* domain. See *dataplaneFqdn* in `USERPROFILE\.azds\settings.json` for the exact FQDN. If using [API server authorized IP ranges][auth-range-section], you also need to allow the IP address of any development machines that connect to your AKS cluster for debugging to connect to your API server.
@@ -81,7 +98,10 @@ Learn how Azure Dev Spaces helps you develop more complex applications across mu
8198
[aks-network-policies]: ../aks/use-network-policies.md
8299
[aks-private-clusters]: ../aks/private-clusters.md
83100
[auth-range-section]: #using-api-server-authorized-ip-ranges
101+
[azure-cli-install]: /cli/azure/install-azure-cli
84102
[dev-spaces-ip-auth-range-regions]: https://github.com/Azure/dev-spaces/tree/master/public-ips
103+
[dev-spaces-routing]: how-dev-spaces-works.md#how-routing-works
104+
[endpoint-options]: #using-different-endpoint-options
85105
[traefik-ingress]: how-to/ingress-https-traefik.md
86106
[nginx-ingress]: how-to/ingress-https-nginx.md
87107
[team-quickstart]: quickstart-team-development.md

0 commit comments

Comments
 (0)