-
Notifications
You must be signed in to change notification settings - Fork 21.8k
Expand file tree
/
Copy pathfaq.yml
More file actions
190 lines (159 loc) · 11.3 KB
/
faq.yml
File metadata and controls
190 lines (159 loc) · 11.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
### YamlMime:FAQ
metadata:
title: Azure Container Apps - Frequently asked questions
description: Find answers to the frequently asked questions about Azure Container Apps.
keywords: azure container apps, frequently asked questions
author: craigshoemaker
ms.topic: faq
ms.service: azure-container-apps
ms.custom:
- ignite-2023
ms.date: 06/25/2025
ms.author: cshoe
title: Azure Container Apps frequently asked questions (FAQs)
summary: This article lists commonly asked questions about Azure Container Apps together with related answers.
sections:
- name: Regions
questions:
- question: |
Where can I find the latest information about supported regions in Azure Container Apps?
answer: |
A list can be generated by running the following Azure CLI command:
```azurecli
az provider show \
--namespace Microsoft.App \
--query "resourceTypes[?resourceType=='managedEnvironments'].locations"
```
- name: APIs
questions:
- question: |
Does Azure Container Apps provide direct access to the underlying Kubernetes API?
answer: |
No, Azure Container Apps doesn't provide direct access to the Kubernetes API.
- question: |
Can I import my Azure Container Apps API from the context of API Management?
answer: |
Yes, you can import an Azure Container Apps API from the context of API Management.
- name: Billing
questions:
- question: |
How is Azure Container Apps billed?
answer: |
Billing is based on resource consumption, including CPU, memory, and request count. For more information, see the [billing](billing.md) page.
- name: Configuration
questions:
- question: |
Can I set up GitHub Actions to automatically build and deploy my code to Azure Container Apps?
answer: |
Yes. You can configure GitHub Actions using either the Azure CLI or the Azure portal:
- Using Azure CLI, run `az containerapp github-action -h` to see the options.
- Using Azure portal, go to the "Continuous deployment" window under your container app.
- question: |
Why is the URL my app receives different than the URL specified in the request?
answer: |
Azure Container Apps decodes the URL to protect your app against [URL confusion attacks](https://snyk.io/blog/url-confusion-vulnerabilities/). A request URL that has encoded portions, such as `http://mysite.com/archive/http%3A%2F%2Fmysite.com%2Farchive%2F123`, is sent to your app as `http://mysite.com/archive/http%3A/mysite.com/archive/123`.
- question: |
Do Consumption only environments support custom user-defined routes?
answer: |
Consumption-only environments have limited support for user-defined routes (UDRs). ExpressRoute isn't supported. Limited UDR support is available when configured as follows:
- A route must be defined using the `Azure.<REGION_NAME>` Service tag with Next Hop = "Internet".
- Network security group (NSG) rules must also be configured as described in the [NSG documentation](./firewall-integration.md?tabs=consumption-only) to ensure the environment operates correctly.
These limitations don't apply for workload profiles, and for full featured UDR and Express Route support, use workload profile environments.
- name: Data management
questions:
- question: |
Where does Azure Container Apps store customer data?
answer: |
Azure Container Apps doesn't move or store customer data out of the deployed region.
- name: Quotas
questions:
- question: |
How can I request a quota increase?
answer: |
[Request a quota increase in the Azure portal](https://learn.microsoft.com/azure/quotas/quickstart-increase-quota-portal) with **Azure Container Apps** selected as the provider.
Consider the following details when submitting a quota increase request:
- **Scaling apps vs environments**: There are many different quotas available to increase. Use these descriptions to help identify your needs:
- **Increase apps and cores per environment**: Allows you to run more apps within an environment and/or more intensive apps. Recommended if your workloads can deploy within the same network and security boundaries.
- **Increasing environments**: Recommended if your workloads need network or security boundaries. Note: A detailed business context might be required if your request involves increasing environment-level quotas. When you request a change to your regional environment quota, you should request a corresponding change to your global environment quota.
- **Regions**: Approvals for increase requests vary based on compute capacity available in Azure regions.
- **Specific compute requirements**: The platform supports 4 GB per container app. Memory limits overrides are evaluated on a per-case basis.
- **Business reasoning for scaling**: You might be eligible for a quota increase request if the platform limits are blocking your workload demands. Scale limits overrides are evaluated on a per-case basis.
- name: Microservice APIs powered by Dapr
questions:
- question: |
What Dapr features and APIs are available in Azure Container Apps?
answer: |
Each Dapr capability undergoes thorough evaluation to ensure it positively impacts customers running microservices in the Azure Container Apps environment, while providing the best possible experience.
- question: |
Are alpha Dapr APIs and Tier 2 components supported or available in Azure Container Apps?
answer: |
The availability of Dapr's alpha APIs isn't guaranteed or Microsoft-supported.
While Tier 1 components are fully supported, Tier 2 components are supported with best effort. [Learn more.](./dapr-overview.md#supported-dapr-apis-components-and-tooling)
- question: |
How can I request a Dapr feature enhancement for Azure Container Apps?
answer: |
You can submit a feature request via the [Azure Container Apps GitHub repository](https://github.com/microsoft/azure-container-apps/issues/new/choose). Make sure to include "Dapr" in the feature request title.
- question: |
Why do I see "-msft.<number>" version in my Container App Environment?
answer: |
As `1.13.6-msft.1` is being rolled out across production regions, you may still see earlier versions (like `1.12.5` or `1.12.5-msft.6`). The `-msft.<number>` suffix indicates the specific customizations made for Azure Container Apps to enhance your experience.
- question: |
How often are Dapr versions released for Azure Container Apps?
answer: |
Dapr versions are updated on a best-effort basis, with a strong focus on stability, thorough testing, and minimizing customer impact. The goal is to ensure updates are seamlessly integrated without introducing breaking changes.
Since Dapr version updates are applied automatically, you always benefit from the most secure version. However, Dapr in Azure Container Apps doesn't follow a fixed release schedule for new features. Instead, the release of new Dapr versions for new functionality depends on the prioritization and stability of the Dapr binaries.
Find updates and release announcements for Dapr in Azure Container Apps in [GitHub](https://aka.ms/dapr-aca-updates).
- question: |
Can I use a specific Dapr version for my environment?
answer:
Custom version selection is **not supported**. Instead, your environment is automatically upgraded, maintaining the integrity of Dapr's fully managed and serverless offering in Azure Container Apps.
You can control autoupgrades by [configuring the planned maintenance feature on your container apps environment](./planned-maintenance.md).
- name: Dockerless deployments
questions:
- question: |
What is a Docker-less deployment?
answer: |
A Docker-less deployment allows you to deploy your application without defining a Dockerfile in your code. Instead, the Container Apps cloud build functionality uses Buildpacks to turn source code on your local machine into a container image. This option uses the Azure Container Apps default registry.
- question: |
During the deployment of my Docker-less application, messages about "ImagePullBackOff on legion", "Kubernetes error" or "Gateway error" appear and my application doesn't deploy successfully.
answer: |
You're experiencing a known issue with Docker-less deployments. Retrying might resolve this issue for you. If you run into this issue, open a [GitHub issue](https://github.com/microsoft/azure-container-apps/issues) so our team can investigate.
- name: Deploy .NET applications
questions:
- question: |
What if my .NET application fails to scale?
answer: |
You need to enable data protection for all .NET apps on Azure Container Apps. See [Deploying and scaling an ASP.NET Core app on Azure Container Apps](/aspnet/core/host-and-deploy/scaling-aspnet-apps/scaling-aspnet-apps) for details.
- name: Deploy Java applications
questions:
- question: |
Which JDK versions are supported and how can I configure the JDK version?
answer: |
Container Apps supports four LTS JDK versions: JDK 8, JDK 11, JDK 17, and JDK 21.
For source code build, the default version is JDK 17.
For a JAR file build, the JDK version is read from the file location *META-INF\MANIFEST.MF* in the JAR, but uses the default JDK version 17 if the specified version isn't available.
You can configure JDK version to override the default version via [build environment variables](java-build-environment-variables.md).
- question: |
Which Java build tools are supported?
answer: |
Azure Container Apps currently supports [Apache Maven](https://maven.apache.org/) as the Java build tool.
- question: |
How can I customize a Java image build from source code?
answer: |
You can customize a Java image build via [build environment variables](java-build-environment-variables.md).
- question: |
How do I ensure the build and image of my Docker-less build are available in the same region as my app?
answer: |
When using `containerapp up` in combination with a Docker-less code base, use the `--location` parameter so that application runs in a location other than US East.
- name: Tagging
questions:
- question: |
How do I use `latest` or a static tag for my container image?
answer: |
Avoid using static tags like `latest` for container images. Using static tags can lead to caching problems and can make your app difficult to troubleshoot. Instead, use unique tags for each deployment, such as a Git hash or date and time to ensure that updates are properly tracked and deployed.
- name: OpenTelemetry
questions:
- question: |
What transport protocols does the OpenTelemetry managed agent support?
answer: |
The managed agent only supports gRPC.