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/iot-edge/how-to-deploy-at-scale.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Deploy modules at scale in Azure portal - Azure IoT Edge
3
3
description: Use the Azure portal to create automatic deployments for groups of IoT Edge devices
4
4
author: PatAltimore
5
5
ms.author: patricka
6
-
ms.date: 06/12/2024
6
+
ms.date: 05/15/2025
7
7
ms.topic: concept-article
8
8
ms.service: azure-iot-edge
9
9
services: iot-edge
@@ -37,20 +37,20 @@ For more information about device twins and tags, see [Understand and use device
37
37
38
38
## Create a deployment
39
39
40
-
IoT Edge provides two different types of automatic deployments that you can use to customize your scenario. You can create a standard *deployment*, which includes that system runtime modules and any additional modules and routes. Each device can only apply one deployment. Or you can create a *layered deployment*, which only includes custom modules and routes, not the system runtime. Many layered deployments can be combined on a device, on top of a standard deployment. For more information about how the two types of automatic deployments work together, see [Understand IoT Edge automatic deployments for single devices or at scale](module-deployment-monitoring.md).
40
+
IoT Edge provides two different types of automatic deployments that you can use to customize your scenario. You can create a standard *deployment*, which includes that system runtime modules and any other modules and routes. Each device can only apply one deployment. Or you can create a *layered deployment*, which only includes custom modules and routes, not the system runtime. Many layered deployments can be combined on a device, on top of a standard deployment. For more information about how the two types of automatic deployments work together, see [Understand IoT Edge automatic deployments for single devices or at scale](module-deployment-monitoring.md).
41
41
42
42
The steps for creating a deployment and a layered deployment are similar. Any differences are called out in the following steps.
43
43
44
-
1. In the [Azure portal](https://portal.azure.com), go to your IoT Hub.
45
-
1. On the menu in the left pane, select **Configurations + Deployments** under **Device Management**.
46
-
1. On the upper bar, select **Add** > **Add Deployment** or **Add Layered Deployment**.
44
+
1. In the [Azure portal](https://portal.azure.com), go to your IoT hub.
45
+
1. On the resource menu in the left pane, select **Configurations + Deployments** under **Device Management**.
46
+
1. On the command bar, select **Add** > **Deployment** or **Layered Deployment**.
47
47
48
48
There are five steps to create a deployment. The following sections walk through each one.
49
49
50
50
>[!NOTE]
51
51
>The steps in this article reflect the latest schema version of the IoT Edge agent and hub.
52
52
>
53
-
>If you are deploying to a device running version 1.0.9 or earlier, edit the **Runtime Settings** in the **Modules** step of the wizard to use schema version 1.0.
53
+
>If you're deploying to a device running version 1.0.9 or earlier, edit the **Runtime Settings** in the **Modules** step of the wizard to use schema version 1.0.
54
54
55
55
### Step 1: Name and label
56
56
@@ -62,22 +62,22 @@ There are five steps to create a deployment. The following sections walk through
62
62
63
63
You can add up to 50 modules to a deployment. If you create a deployment with no modules, it removes any current modules from the target devices.
64
64
65
-
In deployments, you can manage the settings for the IoT Edge agent and IoT Edge hub modules. Select **Runtime Settings** to configure the two runtime modules. In layered deployment, the runtime modules are not included so cannot be configured.
65
+
In deployments, you can manage the settings for the IoT Edge agent and IoT Edge hub modules. Select **Runtime Settings** to configure the two runtime modules. In layered deployment, the runtime modules aren't included so can't be configured.
66
66
67
67
To add custom code as a module, or to manually add an Azure service module, follow these steps:
68
68
69
-
1. In the **Container Registry Settings** section of the page, provide the credentials to access any private container registries that contain your module images.
69
+
1. In the **Container Registry Credentials** section of the page, provide the credentials to access any private container registries that contain your module images.
70
70
1. In the **IoT Edge Modules** section of the page, select **Add**.
71
71
1. Choose one of the types of modules from the drop-down menu:
72
72
73
-
***IoT Edge Module** - You provide the module name and container image URI. For example, the image URI for the sample SimulatedTemperatureSensor module is `mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0`. For a list of Microsoft IoT Edge module images, see the [Microsoft Artifact Registry](https://mcr.microsoft.com/catalog?cat=IoT%20Edge%20Modules&alphaSort=asc&alphaSortKey=Name).
73
+
***IoT Edge Module** - You provide the module name and container image URI. For example, the image URI for the sample SimulatedTemperatureSensor module is `mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5`. For a list of Microsoft IoT Edge module images, see the [Microsoft Artifact Registry](https://mcr.microsoft.com/catalog?cat=IoT%20Edge%20Modules&alphaSort=asc&alphaSortKey=Name).
74
74
***Azure Stream Analytics Module** - Modules generated from an Azure Stream Analytics workload.
75
75
76
-
1. If needed, repeat steps 2 and 3 to add additional modules to your deployment.
76
+
1. If needed, repeat steps 2 and 3 to add more modules to your deployment.
77
77
78
-
After you add a module to a deployment, you can select its name to open the **Update IoT Edge Module** page. On this page, you can edit the module settings, environment variables, create options, startup order, and module twin. If you added a module from the marketplace, it may already have some of these parameters filled in. For more information about the available module settings, see [Module configuration and management](module-composition.md#module-configuration-and-management).
78
+
After you add a module to a deployment, you can select its name to open the **Update IoT Edge Module** page. On this page, you can edit the module settings, environment variables, create options, startup order, and module twin. If you added a module from the marketplace, it might already have some of these parameters filled in. For more information about the available module settings, see [Module configuration and management](module-composition.md#module-configuration-and-management).
79
79
80
-
If you're creating a layered deployment, you may be configuring a module that exists in other deployments targeting the same devices. To update the module twin without overwriting other versions, open the **Module Twin Settings** tab. Create a new **Module Twin Property** with a unique name for a subsection within the module twin's desired properties, for example `properties.desired.settings`. If you define properties within just the `properties.desired` field, it overwrites the desired properties for the module defined in any lower priority deployments.
80
+
If you're creating a layered deployment, you might be configuring a module that exists in other deployments targeting the same devices. To update the module twin without overwriting other versions, open the **Module Twin Settings** tab. Create a new **Module Twin Property** with a unique name for a subsection within the module twin's desired properties, for example `properties.desired.settings`. If you define properties within just the `properties.desired` field, it overwrites the desired properties for the module defined in any lower priority deployments.
81
81
82
82
:::image type="content" source="./media/how-to-deploy-monitor/module-twin-property.png" alt-text="Screenshot showing how to set the module twin property for layered deployment.":::
83
83
@@ -87,7 +87,7 @@ Once you have all the modules for a deployment configured, select **Next: Routes
87
87
88
88
### Step 3: Routes
89
89
90
-
On the **Routes** tab, you define how messages are passed between modules and the IoT Hub. Messages are constructed using name/value pairs.
90
+
On the **Routes** tab, you define how messages are passed between modules and the IoT hub. Messages are constructed using name/value pairs.
91
91
92
92
For example, a route with a name **route** and a value **FROM /messages/\* INTO $upstream** would take any messages output by any modules and send them to your IoT hub.
Use the tags property from your devices to target the specific devices that should receive this deployment.
102
+
To target the specific devices that should receive this deployment, use the `tags` property from your devices.
103
103
104
104
Since multiple deployments may target the same device, you should give each deployment a priority number. If there's ever a conflict, the deployment with the highest priority (larger values indicate higher priority) wins. If two deployments have the same priority number, the one that was created most recently wins.
105
105
106
-
If multiple deployments target the same device, then only the one with the higher priority is applied. If multiple layered deployments target the same device then they are all applied. However, if any properties are duplicated, like if there are two routes with the same name, then the one from the higher priority layered deployment overwrites the rest.
106
+
If multiple deployments target the same device, then only the one with the higher priority is applied. If multiple layered deployments target the same device, then they're all applied. However, if any properties are duplicated, like if there are two routes with the same name, then the one from the higher priority layered deployment overwrites the rest.
107
107
108
108
Any layered deployment targeting a device must have a higher priority than the base deployment in order to be applied.
109
109
@@ -114,7 +114,7 @@ Select **Next: Metrics**.
114
114
115
115
### Step 5: Metrics
116
116
117
-
Metrics provide summary counts of the various states that a device may report back as a result of applying configuration content.
117
+
Metrics provide summary counts of the various states that a device might report back as a result of applying configuration content.
118
118
119
119
1. Enter a name for **Metric Name**.
120
120
@@ -127,7 +127,7 @@ Metrics provide summary counts of the various states that a device may report ba
Select **Next: Review + Create** to move on to the final step.
130
+
Select **Next: Review + create** to move on to the final step.
131
131
132
132
### Step 6: Review and create
133
133
@@ -136,7 +136,7 @@ Review your deployment information, then select **Create**.
136
136
To monitor your deployment, see [Monitor IoT Edge deployments](how-to-monitor-iot-edge-deployments.md).
137
137
138
138
> [!NOTE]
139
-
> When a new IoT Edge deployment is created, sometimes it can take up to 5 minutes for the IoT Hub to process the new configuration and propagate the new desired properties to the targeted devices.
139
+
> When a new IoT Edge deployment is created, sometimes it can take up to 5 minutes for the IoT hub to process the new configuration and propagate the new desired properties to the targeted devices.
140
140
141
141
## Modify a deployment
142
142
@@ -150,32 +150,32 @@ When you modify a deployment, the changes immediately replicate to all targeted
150
150
151
151
### Modify target conditions, custom metrics, and labels
152
152
153
-
1. In your IoT hub, select **Configurations + Deployments** from the left pane menu.
153
+
1. In your IoT hub, select **Configurations + Deployments**under **Device management **from the resource menu.
154
154
1. Select the deployment you want to configure.
155
155
1. Select the **Target Devices** tab. Change the **Target Condition** to target the intended devices. You can also adjust the **Priority**.
156
156
157
157
If you update the target condition, the following updates occur:
158
158
159
159
* If a device didn't meet the old target condition, but meets the new target condition and this deployment is the highest priority for that device, then this deployment is applied to the device.
160
160
* If a device currently running this deployment no longer meets the target condition, it uninstalls this deployment and takes on the next highest priority deployment.
161
-
* If a device currently running this deployment no longer meets the target condition and doesn't meet the target condition of any other deployments, then no change occurs on the device. The device continues running its current modules in their current state, but is not managed as part of this deployment anymore. Once it meets the target condition of any other deployment, it uninstalls this deployment and takes on the new one.
161
+
* If a device currently running this deployment no longer meets the target condition and doesn't meet the target condition of any other deployments, then no change occurs on the device. The device continues running its current modules in their current state, but isn't managed as part of this deployment anymore. Once it meets the target condition of any other deployment, it uninstalls this deployment and takes on the new one.
162
162
163
-
1. Select the **Metrics** tab and select the **Edit Metrics** button. Add or modify custom metrics, using the example syntax as a guide. Select **Save**.
163
+
1. Select the **Metrics** tab and add or modify custom metrics, using the example syntax as a guide. Select **Save**.
164
164
165
165
:::image type="content" source="./media/how-to-deploy-monitor/metric-list.png" alt-text="Screenshot showing how to edit custom metrics in a deployment.":::
166
166
167
167
1. Select the **Labels** tab and make any desired changes and select **Save**.
168
168
169
169
## Delete a deployment
170
170
171
-
When you delete a deployment, any deployed devices take on their next highest priority deployment. If your devices don't meet the target condition of any other deployment, then the modules are not removed when the deployment is deleted.
171
+
When you delete a deployment, any deployed devices take on their next highest priority deployment. If your devices don't meet the target condition of any other deployment, then the modules aren't removed when the deployment is deleted.
172
172
173
-
1. Sign in to the [Azure portal](https://portal.azure.com) and navigate to your IoT Hub.
174
-
1.Select **Configurations + Deployments**.
173
+
1. Sign in to the [Azure portal](https://portal.azure.com) and navigate to your IoT hub.
174
+
1.In the resource menu, select **Configurations + Deployments** under **Device management**.
175
175
1. Use the checkbox to select the deployment that you want to delete.
176
-
1. Select **Delete**.
177
-
1. A prompt informs you that this action deletes this deployment and revert to the previous state for all devices. A deployment with a lower priority will apply. If no other deployment is targeted, no modules are removed. If you want to remove all modules from your device, create a deployment with zero modules and deploy it to the same devices. Select **Yes** to continue.
176
+
1. Select **Delete** from the command bar.
177
+
1. A prompt informs you that this action deletes this deployment and revert to the previous state for all devices. A deployment with a lower priority applies. If no other deployment is targeted, no modules are removed. If you want to remove all modules from your device, create a deployment with zero modules and deploy it to the same devices. Select **Yes** to continue.
178
178
179
179
## Next steps
180
180
181
-
Learn more about [Deploying modules to IoT Edge devices](module-deployment-monitoring.md).
181
+
To learn more about deploying modules to IoT Edge devices, see [Understand IoT Edge automatic deployments for single devices or at scale](module-deployment-monitoring.md).
0 commit comments