Skip to content

Commit b654dc9

Browse files
Merge branch 'MicrosoftDocs:main' into docs-editor/whats-new-1693324949
2 parents f765c78 + 6c67cd1 commit b654dc9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+584
-271
lines changed

articles/container-apps/TOC.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@
4343
- name: Visual Studio Code
4444
href: deploy-visual-studio-code.md
4545
- name: Run a job
46-
href: jobs-get-started-cli.md
46+
items:
47+
- name: Azure portal
48+
href: jobs-get-started-portal.md
49+
- name: Command line
50+
href: jobs-get-started-cli.md
4751
- name: Develop and deploy
4852
items:
4953
- name: Deploy an app with containerapp up

articles/container-apps/application-lifecycle-management.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ When you deploy a container app, the first revision is automatically created. [M
1818

1919
A container app flows through four phases: deployment, update, deactivation, and shut down.
2020

21+
> [!NOTE]
22+
> [Azure Container Apps jobs](jobs.md) don't support revisions. Jobs are deployed and updated directly.
23+
2124
## Deployment
2225

2326
As a container app is deployed, the first revision is automatically created.

articles/container-apps/compare-options.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ There's no perfect solution for every use case and every team. The following exp
2626
## Container option comparisons
2727

2828
### Azure Container Apps
29-
Azure Container Apps enables you to build serverless microservices based on containers. Distinctive features of Container Apps include:
29+
Azure Container Apps enables you to build serverless microservices and jobs based on containers. Distinctive features of Container Apps include:
3030

3131
* Optimized for running general purpose containers, especially for applications that span many microservices deployed in containers.
3232
* Powered by Kubernetes and open-source technologies like [Dapr](https://dapr.io/), [KEDA](https://keda.sh/), and [envoy](https://www.envoyproxy.io/).
3333
* Supports Kubernetes-style apps and microservices with features like [service discovery](connect-apps.md) and [traffic splitting](revisions.md).
3434
* Enables event-driven application architectures by supporting scale based on traffic and pulling from [event sources like queues](scale-app.md), including [scale to zero](scale-app.md).
35-
* Support of long running processes and can run [background tasks](background-processing.md).
35+
* Supports running on demand, scheduled, and event-driven [jobs](jobs.md).
3636

3737
Azure Container Apps doesn't provide direct access to the underlying Kubernetes APIs. If you require access to the Kubernetes APIs and control plane, you should use [Azure Kubernetes Service](../aks/intro-kubernetes.md). However, if you would like to build Kubernetes-style applications and don't require direct access to all the native Kubernetes APIs and cluster management, Container Apps provides a fully managed experience based on best-practices. For these reasons, many teams may prefer to start building container microservices with Azure Container Apps.
3838

articles/container-apps/containers.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,20 @@ Azure Container Apps manages the details of Kubernetes and container orchestrati
1818

1919
Azure Container Apps supports:
2020

21-
- Any Linux-based x86-64 (`linux/amd64`) container image
21+
- Any Linux-based x86-64 (`linux/amd64`) container image with no required base image
2222
- Containers from any public or private container registry
23+
- [Sidecar](#sidecar-containers) and [init](#init-containers) containers
2324

24-
Features include:
25+
Container apps features include:
2526

26-
- There's no required base container image.
2727
- Changes to the `template` configuration section trigger a new [container app revision](application-lifecycle-management.md).
2828
- If a container crashes, it automatically restarts.
2929

30+
Jobs features include:
31+
32+
- Job executions use the `template` configuration section to define the container image and other settings when each execution starts.
33+
- If a container exits with a non-zero exit code, the job execution is marked as failed. You can configure a job to retry failed executions.
34+
3035
## Configuration
3136

3237
The following code is an example of the `containers` array in the [`properties.template`](azure-resource-manager-api-spec.md#propertiestemplate) section of a container app resource template. The excerpt shows the available configuration options when setting up a container.
@@ -186,6 +191,9 @@ You can define one or more [init containers](https://kubernetes.io/docs/concepts
186191

187192
Init containers are defined in the `initContainers` array of the container app template. The containers run in the order they are defined in the array and must complete successfully before the primary app container starts.
188193

194+
> [!NOTE]
195+
> Init containers support [image pulls using managed identities](#managed-identity-with-azure-container-registry), but processes running in init containers don't have access to managed identities.
196+
189197
## Container registries
190198

191199
You can deploy images hosted on private registries by providing credentials in the Container Apps configuration.

articles/container-apps/dapr-overview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,7 @@ This resource defines a Dapr component called `dapr-pubsub` via ARM.
350350
### Known limitations
351351

352352
- **Actor reminders**: Require a minReplicas of 1+ to ensure reminders is always active and fires correctly.
353+
- **Jobs**: Dapr isn't supported for jobs.
353354

354355
## Next Steps
355356

articles/container-apps/environment.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ ms.custom: ignite-fall-2021, event-tier1-build-2022, build-2023
1212

1313
# Azure Container Apps environments
1414

15-
A Container Apps environment is a secure boundary around groups of container apps that share the same virtual network and write logs to the same logging destination.
15+
A Container Apps environment is a secure boundary around groups of container apps and jobs that share the same virtual network and write logs to the same logging destination.
1616

1717
Container Apps environments are fully managed where Azure handles OS upgrades, scale operations, failover procedures, and resource balancing.
1818

1919
:::image type="content" source="media/environments/azure-container-apps-environments.png" alt-text="Azure Container Apps environments.":::
2020

21-
Reasons to deploy container apps to the same environment include situations when you need to:
21+
Reasons to deploy container apps and jobs to the same environment include situations when you need to:
2222

2323
- Manage related services
2424
- Deploy different applications to the same virtual network

articles/container-apps/jobs-get-started-cli.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
---
2-
title: Create a job with Azure Container Apps (preview)
2+
title: Create a job with Azure Container Apps
33
description: Learn to create an on-demand or scheduled job in Azure Container Apps
44
services: container-apps
55
author: craigshoemaker
66
ms.service: container-apps
77
ms.custom: build-2023, devx-track-azurecli
88
ms.topic: quickstart
9-
ms.date: 05/08/2023
9+
ms.date: 08/17/2023
1010
ms.author: cshoe
1111
zone_pivot_groups: container-apps-job-types
1212
---
1313

14-
# Create a job with Azure Container Apps (preview)
14+
# Create a job with Azure Container Apps
1515

1616
Azure Container Apps [jobs](jobs.md) allow you to run containerized tasks that execute for a finite duration and exit. You can trigger a job manually, schedule their execution, or trigger their execution based on events.
1717

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
title: Create a job with Azure Container Apps using the Azure portal
3+
description: Learn to create an on-demand or scheduled job in Azure Container Apps using the Azure portal
4+
services: container-apps
5+
author: craigshoemaker
6+
ms.service: container-apps
7+
ms.custom: build-2023, devx-track-azurecli
8+
ms.topic: quickstart
9+
ms.date: 08/21/2023
10+
ms.author: cshoe
11+
---
12+
13+
# Create a job with Azure Container Apps using the Azure portal
14+
15+
Azure Container Apps [jobs](jobs.md) allow you to run containerized tasks that execute for a finite duration and exit. You can trigger a job manually, schedule their execution, or trigger their execution based on events.
16+
17+
Jobs are best suited to for tasks such as data processing, machine learning, or any scenario that requires on-demand processing.
18+
19+
In this quickstart, you create a scheduled job. To learn how to create an event-driven job, see [Deploy an event-driven job with Azure Container Apps](tutorial-event-driven-jobs.md).
20+
21+
## Prerequisites
22+
23+
An Azure account with an active subscription is required. If you don't already have one, you can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). Also, please make sure to have the Resource Provider "Microsoft.App" registered.
24+
25+
## Setup
26+
27+
Begin by signing in to the [Azure portal](https://portal.azure.com).
28+
29+
## Create a container app
30+
31+
To create your Container Apps job, start at the Azure portal home page.
32+
33+
1. Search for **Container App Jobs** in the top search bar.
34+
1. Select **Container App Jobs** in the search results.
35+
1. Select the **Create** button.
36+
37+
### Basics tab
38+
39+
In the *Basics* tab, do the following actions.
40+
41+
1. Enter the following values in the *Project details* section.
42+
43+
| Setting | Action |
44+
|---|---|
45+
| Subscription | Select your Azure subscription. |
46+
| Resource group | Select **Create new** and enter **jobs-quickstart**. |
47+
| Container job name | Enter **my-job**. |
48+
49+
#### Create an environment
50+
51+
Next, create an environment for your container app.
52+
53+
1. Select the appropriate region.
54+
55+
| Setting | Value |
56+
|--|--|
57+
| Region | Select **Central US**. |
58+
59+
1. In the *Create Container Apps environment* field, select the **Create new** link.
60+
1. In the *Create Container Apps Environment* page, on the *Basics* tab, enter the following values:
61+
62+
| Setting | Value |
63+
|--|--|
64+
| Environment name | Enter **my-environment**. |
65+
| Type | Enter **Workload Profile**. |
66+
| Zone redundancy | Select **Disabled** |
67+
68+
1. Select the **Create** button at the bottom of the *Create Container App Environment* page.
69+
70+
### Deploy the job
71+
72+
1. In *Job details*, select **Scheduled** for the *Trigger type*.
73+
74+
In the *Cron expression* field, enter `*/1 * * * *`.
75+
76+
This expression starts the job every minute.
77+
78+
1. Select the **Next: Container** button at the bottom of the page.
79+
80+
1. In the *Container* tab, enter the following values:
81+
82+
| Setting | Value |
83+
|--|--|
84+
| Name | Enter **main-container**. |
85+
| Image source | Select **Docker Hub or other registries**. |
86+
| Image type | Select **Public**. |
87+
| Registry login server | Enter **mcr.microsoft.com**. |
88+
| Image and tag | Enter **k8se/quickstart-jobs:latest**. |
89+
| Workload profile | Select **Consumption**. |
90+
| CPU and memory | Select **0.25** and **0.5Gi**. |
91+
92+
1. Select the **Review and create** button at the bottom of the page.
93+
94+
As the settings in the job are verified, if no errors are found, the *Create* button is enabled.
95+
96+
Any errors appear on a tab marked with a red dot. If you encounter errors, navigate to the appropriate tab and you'll find fields containing errors highlighted in red. Once all errors are fixed, select **Review and create** again.
97+
98+
1. Select **Create**.
99+
100+
A page with the message *Deployment is in progress* is displayed. Once the deployment is successfully completed, you'll see the message: *Your deployment is complete*.
101+
102+
### Verify deployment
103+
104+
1. Select **Go to resource** to view your new Container Apps job.
105+
106+
2. Select the **Execution history** tab.
107+
108+
The *Execution history* tab displays the status of each job execution. Select the **Refresh** button to update the list. Wait up to a minute for the scheduled job execution to start. Its status changes from *Pending* to *Running* to *Succeeded*.
109+
110+
1. Select **View logs**.
111+
112+
The logs show the output of the job execution. It may take a few minutes for the logs to appear.
113+
114+
## Clean up resources
115+
116+
If you're not going to continue to use this application, you can delete the Azure Container Apps instance and all the associated services by removing the resource group.
117+
118+
1. Select the **jobs-quickstart** resource group from the *Overview* section.
119+
1. Select the **Delete resource group** button at the top of the resource group *Overview*.
120+
1. Enter the resource group name **jobs-quickstart** in the *Are you sure you want to delete "jobs-quickstart"* confirmation dialog.
121+
1. Select **Delete**.
122+
The process to delete the resource group may take a few minutes to complete.
123+
124+
> [!TIP]
125+
> Having issues? Let us know on GitHub by opening an issue in the [Azure Container Apps repo](https://github.com/microsoft/azure-container-apps).
126+
127+
## Next steps
128+
129+
> [!div class="nextstepaction"]
130+
> [Container Apps jobs](jobs.md)

0 commit comments

Comments
 (0)