Skip to content

Latest commit

 

History

History
116 lines (74 loc) · 9.39 KB

faq.md

File metadata and controls

116 lines (74 loc) · 9.39 KB
title services ms.date ms.topic description keywords
Frequently asked questions about Azure Dev Spaces
azure-dev-spaces
01/28/2020
conceptual
Find answers to some of the common questions about Azure Dev Spaces
Docker, Kubernetes, Azure, AKS, Azure Kubernetes Service, containers, Helm, service mesh, service mesh routing, kubectl, k8s

Frequently asked questions about Azure Dev Spaces

This addresses frequently asked questions about Azure Dev Spaces.

What versions of Kubernetes are supported for Azure Dev Spaces?

Azure Dev Spaces supports all currently supported general availability (GA) versions of Kubernetes in AKS.

Which Azure regions currently provide Azure Dev Spaces?

See supported regions for a complete list of available regions.

Can I migrate my AKS cluster with Azure Dev Spaces to another region?

Yes, if you want to move your AKS cluster with Azure Dev Spaces to another supported region, we recommend that you create a new cluster in the other region then install and configure Azure Dev Spaces and deploy your resources and applications to your new cluster. For more information on migrating AKS, see Migrate to Azure Kubernetes Service (AKS).

Can I use Azure Dev Spaces with existing Dockerfiles or Helm charts?

Yes, if your project already has a Dockerfile or a Helm chart, you can use those files with Azure Dev Spaces. When you run azds prep, use the --chart parameter and specify the location of the chart. Azure Dev Spaces will still generate an azds.yaml and Dockerfile.develop file, but it will not replace or modify an existing Dockerfile or a Helm chart. You may need to modify the azds.yaml and Dockerfile.develop files in order for everything to work correctly with your existing application when running azds up.

When using your own Dockerfile or Helm chart, there are the following limitations:

  • If using only one Dockerfile, it must include everything you need to enable development scenarios, such as the language SDK not just the runtime. If using a separate Dockerfile for Azure Dev Spaces, such as a Dockerfile.develop, everything you need to enable development scenarios must be included in that Dockerfile.
  • Your Helm chart must support passing part of or the entire image tag as a value from values.yaml.
  • If you are modifying anything with ingress, you can also update your Helm chart to use the ingress solution provided by Azure Dev Spaces.
  • If you want to use the routing capabilities provided by Azure Dev Spaces, all services for an individual project must fit within a single Kubernetes namespace and must be deployed with simple naming, for example service-a. In standard Helm charts, this naming update can be done by specifying a value for the fullnameOverride property.

To compare your own Dockerfile or Helm chart to an existing version that works with Azure Dev Spaces, review the files generated in the quickstart.

Can I modify the files generated by Azure Dev Spaces?

Yes, you can modify the azds.yaml file, Dockerfile, and Helm chart generated by Azure Dev Spaces when preparing your project. Modifying these files changes how the project is built and run.

Can I use Azure Dev Spaces without a public IP address?

No, you can't provision Azure Dev Spaces on an AKS Cluster without a public IP. A public IP is needed by Azure Dev Spaces for routing.

Can I use my own ingress with Azure Dev Spaces?

Yes, you can configure your own ingress along side the ingress Azure Dev Spaces creates. For example, you can use traefik or NGINX.

Can I use HTTPS with Azure Dev Spaces?

Yes, you can configure your own ingress with HTTPS using traefik or NGINX.

Can I use Azure Dev Spaces on a cluster that uses CNI rather than kubenet?

Yes, you can use Azure Dev Spaces on an AKS cluster that uses CNI for networking. For example, you can use Azure Dev Spaces on an AKS cluster with existing Windows containers, which uses CNI for networking. More information on using CNI for networking with Azure Dev Spaces is available here.

Can I use Azure Dev Spaces with Windows Containers?

Currently, Azure Dev Spaces is intended to run on Linux pods and nodes only, but you can run Azure Dev Spaces on an AKS cluster with existing Windows containers.

Can I use Azure Dev Spaces on AKS clusters with API server authorized IP address ranges enabled?

Yes, you can use Azure Dev Spaces on AKS clusters with API server authorized IP address ranges enabled. More information on using an AKS clusters with API server authorized IP address ranges enabled with Azure Dev Spaces is available here.

Can I use Azure Dev Spaces on AKS clusters with restricted egress traffic for cluster nodes?

Yes, you can use Azure Dev Spaces on AKS clusters with restricted egress traffic for cluster nodes enabled once the correct FQDNs have been allowed. More information on using an AKS clusters with restricted egress traffic for cluster nodes enabled with Azure Dev Spaces is available here.

Can I use Azure Dev Spaces on RBAC-enabled AKS clusters?

Yes, you can use Azure Dev Spaces on AKS clusters with or without RBAC enabled.

What happens when I enable ingress for project in Visual Studio?

When using Visual Studio to prepare your project, you have the option of enabling ingress for your service. Enabling ingress creates a public endpoint to access your service when running on your AKS cluster, which is optional. If you do not enable ingress, your service is only accessible from within your AKS cluster.

Can I use pod managed identities with Azure Dev Spaces?

Yes, you can use pod managed identities on AKS clusters with Azure Dev Spaces enabled, but there are additional configuration steps after you enable Azure Dev Spaces on your cluster with pod managed identities. If you have pod managed identities installed and would like to uninstall it, you can find more details in the uninstall notes.

Can I use Azure Dev Spaces with multiple microservices in an application?

Yes, you can use Azure Dev Spaces in an application with multiple microservices, but you must prepare and run the individual microservices at their root. The Azure Dev Spaces CLI, Azure Dev Spaces VS Code extension, and Visual Studio Azure Development workload expect the azds.yaml file to be at the root of the microservice in order to run and debug. See the Bike Sharing sample application for an example of multiple microservices in a single application.

In Visual Studio Code, it is possible to open separate projects in a single workspace and debug them separately through Azure Dev Spaces. Each of the projects must be self-contained and prepared for Azure Dev Spaces.

In Visual Studio, it is possible to configure .NET Core solutions for debugging through Azure Dev Spaces.

Can I use Azure Dev Spaces with a service mesh?

At this time, you can't use Azure Dev Spaces with service meshes such as Istio or Linkerd. You can run Azure Dev Spaces and a service mesh on the same AKS cluster, but you can't have both Azure Dev Spaces and a service mesh enabled in the same namespace.