You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-apps/billing.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ ms.service: azure-container-apps
7
7
ms.custom:
8
8
- ignite-2023
9
9
ms.topic: conceptual
10
-
ms.date: 10/02/2024
10
+
ms.date: 11/05/2024
11
11
ms.author: cshoe
12
12
---
13
13
@@ -43,6 +43,10 @@ Free usage doesn't appear on your bill. You're only charged as your resource usa
43
43
> [!NOTE]
44
44
> If you use Container Apps with [your own virtual network](networking.md#managed-resources) or your apps utilize other Azure resources, additional charges may apply.
45
45
46
+
### Serverless GPU
47
+
48
+
Serverless GPU compute is calculated on a per-second billing rate.
49
+
46
50
### Resource consumption charges
47
51
48
52
Azure Container Apps runs replicas of your application based on the [scaling rules and replica count limits](scale-app.md) you configure for each revision. [Azure Container Apps jobs](jobs.md) run replicas when job executions are triggered. You're charged for the amount of resources allocated to each replica while it's running.
Copy file name to clipboardExpand all lines: articles/container-apps/custom-domains-certificates.md
+25-5Lines changed: 25 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,21 +63,41 @@ Azure Container Apps allows you to bind one or more custom domains to a containe
63
63
| Apex domain | A record | An apex domain is a domain at the root level of your domain. For example, if your DNS (Domain Name System) zone is `contoso.com`, then `contoso.com` is the apex domain. |
64
64
| Subdomain | CNAME | A subdomain is a domain that is part of another domain. For example, if your DNS zone is `contoso.com`, then `www.contoso.com` is an example of a subdomain that can be configured in the zone. |
65
65
66
-
1. Using the DNS provider that is hosting your domain, create DNS records based on the *Hostname record type* you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you own it.
66
+
1. Using the DNS provider that is hosting your domain, create DNS records based on the *Hostname record type* you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you own it. The setup depends on whether you are using custom domains with the private endpoint (preview) feature:
67
67
68
+
# [General](#tab/general)
69
+
68
70
- If you selected *A record*, create the following DNS records:
69
71
70
72
| Record type | Host | Value |
71
73
|--|--|--|
72
-
| A |`@`| The IP address of your Container Apps environment |
73
-
| TXT |`asuid`| The domain verification code |
74
+
| A |`@`| The IP address of your Container Apps environment.|
75
+
| TXT |`asuid`| The domain verification code.|
74
76
75
77
- If you selected *CNAME*, create the following DNS records:
76
78
77
79
| Record type | Host | Value |
78
80
|--|--|--|
79
-
| CNAME | The subdomain (for example, `www`) | The automatically generated domain of your container app |
80
-
| TXT |`asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code |
81
+
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
82
+
| TXT |`asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
83
+
84
+
# [Private endpoint](#tab/private-endpoint)
85
+
86
+
- If you selected *A record*, you need to have a private DNS zone which has the same DNS zone name as your public DNS. Create the following DNS records on your private DNS zone:
87
+
88
+
| Record type | Host | Value |
89
+
|--|--|--|
90
+
| A |`@`| The Private IP of your private endpoint on your container apps environment. |
91
+
| TXT |`asuid`| The domain verification code. |
92
+
93
+
- If you selected *CNAME*, create the following DNS records:
94
+
95
+
| Record type | Host | Value |
96
+
|--|--|--|
97
+
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
98
+
| TXT |`asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
Copy file name to clipboardExpand all lines: articles/container-apps/custom-domains-managed-certificates.md
+54-12Lines changed: 54 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,21 +62,41 @@ The requirements are:
62
62
| Apex domain | A record | An apex domain is a domain at the root level of your domain. For example, if your DNS zone is `contoso.com`, then `contoso.com` is the apex domain. |
63
63
| Subdomain | CNAME | A subdomain is a domain that is part of another domain. For example, if your DNS zone is `contoso.com`, then `www.contoso.com` is an example of a subdomain that can be configured in the zone. |
64
64
65
-
1. Using the DNS provider that is hosting your domain, create DNS records based on the *Hostname record type* you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you're the owner.
65
+
1. Using the DNS provider that is hosting your domain, create DNS records based on the *Hostname record type* you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you're the owner. The setup depends on whether you are using custom domains with the private endpoint (preview) feature:
66
66
67
+
# [General](#tab/general)
68
+
67
69
- If you selected *A record*, create the following DNS records:
68
70
69
71
| Record type | Host | Value |
70
72
|--|--|--|
71
-
| A |`@`| The IP address of your Container Apps environment |
72
-
| TXT |`asuid`| The domain verification code |
73
+
| A |`@`| The IP address of your Container Apps environment.|
74
+
| TXT |`asuid`| The domain verification code.|
73
75
74
76
- If you selected *CNAME*, create the following DNS records:
75
77
76
78
| Record type | Host | Value |
77
79
|--|--|--|
78
-
| CNAME | The subdomain (for example, `www`) | The automatically generated `<appname>.<region>.azurecontainerapps.io` domain of your container app |
79
-
| TXT |`asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code |
80
+
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
81
+
| TXT |`asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
82
+
83
+
# [Private endpoint](#tab/private-endpoint)
84
+
85
+
- If you selected *A record*, you need to have a private DNS zone which has the same DNS zone name as your public DNS. Create the following DNS records on your private DNS zone:
86
+
87
+
| Record type | Host | Value |
88
+
|--|--|--|
89
+
| A |`@`| The Private IP of your private endpoint on your container apps environment. |
90
+
| TXT |`asuid`| The domain verification code. |
91
+
92
+
- If you selected *CNAME*, create the following DNS records:
93
+
94
+
| Record type | Host | Value |
95
+
|--|--|--|
96
+
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
97
+
| TXT |`asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
98
+
99
+
---
80
100
81
101
1. Select **Validate**.
82
102
@@ -149,21 +169,43 @@ Container Apps supports apex domains and subdomains. Each domain type requires a
149
169
150
170
Replace `<CONTAINER_APP_NAME>` with the name of your container app, and `<RESOURCE_GROUP_NAME>` with the name of the resource group that contains your container app.
151
171
152
-
1. Using the DNS provider that is hosting your domain, create DNS records based on the record type you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you own it.
172
+
1. Using the DNS provider that is hosting your domain, create DNS records based on the record type you selected using the values shown in the *Domain validation* section. The records point the domain to your container app and verify that you own it. The setup depends on whether you are using custom domains with the private endpoint (preview) feature:
173
+
174
+
# [General](#tab/general)
175
+
176
+
- If you selected *A record*, create the following DNS records:
177
+
178
+
| Record type | Host | Value |
179
+
|--|--|--|
180
+
| A | `@` | The IP address of your Container Apps environment. |
181
+
| TXT | `asuid` | The domain verification code. |
182
+
183
+
- If you selected *CNAME*, create the following DNS records:
184
+
185
+
| Record type | Host | Value |
186
+
|--|--|--|
187
+
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
188
+
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
189
+
190
+
# [Private endpoint](#tab/private-endpoint)
191
+
192
+
When using a private endpoint for your incoming traffic, you need to [create a private DNS zone](how-to-use-private-endpoint.md#configure-the-private-dns-zone).
153
193
154
-
- If you're configuring an apex domain, create the following DNS records:
194
+
- If you selected *A record*, create the following DNS records:
155
195
156
196
| Record type | Host | Value |
157
197
|--|--|--|
158
-
| A | `@` | The IP address of your Container Apps environment |
159
-
| TXT | `asuid` | The domain verification code |
198
+
| A | `@` | The Private IP of your private endpoint on your container apps environment. |
199
+
| TXT | `asuid` | The domain verification code. |
160
200
161
-
- If you're configuring a subdomain, create the following DNS records:
201
+
- If you selected *CNAME*, create the following DNS records:
162
202
163
203
| Record type | Host | Value |
164
204
|--|--|--|
165
-
| CNAME | The subdomain (for example, `www`) | The automatically generated domain of your container app |
166
-
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code |
205
+
| CNAME | The subdomain (for example, `www`) | The generated domain of your container app. |
206
+
| TXT | `asuid.` followed by the subdomain (for example, `asuid.www`) | The domain verification code. |
title: "Tutorial: Generate images using serverless GPUs in Azure Container Apps (preview)"
3
+
description: Learn to run to generate images powered by serverless GPUs in Azure Container Apps.
4
+
services: container-apps
5
+
author: craigshoemaker
6
+
ms.service: azure-container-apps
7
+
ms.topic: how-to
8
+
ms.date: 11/06/2024
9
+
ms.author: cshoe
10
+
---
11
+
12
+
# Tutorial: Generate images using serverless GPUs in Azure Container Apps (preview)
13
+
14
+
In this article, you learn how to create a container app that uses [serverless GPUs](gpu-serverless-overview.md) to power an AI application.
15
+
16
+
With serverless GPUs, you have direct access to GPU compute resources without having to do manual infrastructure configuration such as installing drivers. All you have to do is deploy your AI model's image.
17
+
18
+
In this tutorial you:
19
+
20
+
> [!div class="checklist"]
21
+
> * Create a new container app and environment
22
+
> * Configure the environment to use serverless GPUs
23
+
> * Deploy your app to Azure Container Apps
24
+
> * Use the new serverless GPU enable application
25
+
> * Enable artifact streaming to reduce GPU cold start
26
+
27
+
## Prerequisites
28
+
29
+
| Resource | Description |
30
+
|---|---|
31
+
| Azure account | You need an Azure account with an active subscription. If you don't have one, you [can create one for free](https://azure.microsoft.com/free/). |
32
+
| Azure Container Registry instance | You need an existing Azure Container Registry instance or the permissions to create one. |
33
+
| Access to serverless GPUs | Access to GPUs is only available after you request GPU quotas. You can submit your GPU quota request via a [customer support case](/azure/azure-portal/supportability/how-to-create-azure-support-request). |
34
+
35
+
## Create your container app
36
+
37
+
1. Go to the Azure portal and search for and select **Container Apps**.
38
+
1. Select **Create** and then select **Container App**.
39
+
1. In the *Basics* window, enter the following values into each section.
40
+
41
+
Under *Project details* enter the following values:
42
+
43
+
| Setting | Value |
44
+
|---|---|
45
+
| Subscription | Select your Azure subscription. |
46
+
| Resource group | Select **Create new** and enter **my-gpu-demo-group**. |
47
+
| Container app name | Enter **my-gpu-demo-app**. |
Under *Container Apps environment* enter the following values:
51
+
52
+
| Setting | Value |
53
+
|---|---|
54
+
| Region | Select **West US 3**. <br><br>For more supported regions, refer to [Using serverless GPUs in Azure](gpu-serverless-overview.md#supported-regions). |
In the *Create Container Apps environment* window, enter the following values:
58
+
59
+
| Setting | Value |
60
+
|---|---|
61
+
| Environment name | Enter **my-gpu-demo-env**. |
62
+
63
+
Select **Create**.
64
+
65
+
Select **Next: Container >**.
66
+
67
+
1. In the *Container* window, enter the following values:
68
+
69
+
| Setting | Value |
70
+
|---|---|
71
+
| Name | Enter **my-gpu-demo-container**. |
72
+
| Image source | Select **Docker Hub or other registries**. |
73
+
| Image type | Select **public**. |
74
+
| Registry login server | Enter **mcr.microsoft.com**. |
75
+
| Image and tag | Enter **k8se/gpu-quickstart:latest**. |
76
+
| Workload profile | Select the option that begins with **Consumption - Up to 4**... |
77
+
| GPU | Select the checkbox. |
78
+
| GPU Type | Select the **T4** option and select the link to add the profile to your environment. |
79
+
80
+
Select **Next: Ingress >**.
81
+
82
+
1. In the *Ingress* window, enter the following values:
83
+
84
+
| Setting | Value |
85
+
|---|---|
86
+
| Ingress | Select the **Enabled** checkbox. |
87
+
| Ingress traffic | Select the **Accepting traffic from anywhere** radio button. |
88
+
| Target port | Enter **80**. |
89
+
90
+
1. Select **Review + create**.
91
+
92
+
1. Select **Create**.
93
+
94
+
1. Wait a few moments for the deployment to complete and then select **Go to resource**.
95
+
96
+
This process can take up to five minutes to complete.
97
+
98
+
## Use your GPU app
99
+
100
+
From the *Overview* window, select the **Application Url** link to open the web app front end in your browser and use the GPU application.
101
+
102
+
> [!NOTE]
103
+
> To achieve the best performance of your GPU apps, follow the steps to [improve cold start for your serverless GPUs](gpu-serverless-overview.md#improve-gpu-cold-start).
104
+
105
+
## Monitor your GPU
106
+
107
+
Once you generate an image, use the following steps to view results of the GPU processing:
108
+
109
+
1. Open your container app in the Azure portal.
110
+
111
+
1. From the *Monitoring* section, select **Console**.
112
+
113
+
1. Select your replica.
114
+
115
+
1. Select your container.
116
+
117
+
1. Select **Reconnect*.
118
+
119
+
1. In the *Choose start up command* window, select **/bin/bash**, and select **Connect**.
120
+
121
+
1. Once the shell is set up, enter the command **nvidia-smi** to review the status and output of your GPU.
122
+
123
+
## Clean up resources
124
+
125
+
The resources created in this tutorial have an effect on your Azure bill.
126
+
127
+
If you aren't going to use these services long-term, use the steps to remove everything created in this tutorial.
128
+
129
+
1. In the Azure portal, search for and select **Resource Groups**.
130
+
131
+
1. Select **my-gpu-demo-group**.
132
+
133
+
1. Select **Delete resource group**.
134
+
135
+
1. In the confirmation box, enter **my-gpu-demo-group**.
136
+
137
+
1. Select **Delete**.
138
+
139
+
## Next steps
140
+
141
+
> [!div class="nextstepaction"]
142
+
> [Improve cold start for your serverless GPUs](gpu-serverless-overview.md#improve-gpu-cold-start)
0 commit comments