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-operations/deploy-iot-ops/howto-deploy-iot-operations.md
+93-91Lines changed: 93 additions & 91 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,6 +73,95 @@ Use the Azure portal or Azure CLI to deploy Azure IoT Operations to your Arc-ena
73
73
74
74
The Azure portal deployment experience is a helper tool that generates a deployment command based on your resources and configuration. The final step is to run an Azure CLI command, so you still need the Azure CLI prerequisites described in the previous section.
75
75
76
+
### [Azure portal](#tab/portal)
77
+
78
+
1. In the [Azure portal](https://portal.azure.com), search for and select **Azure IoT Operations**.
79
+
80
+
1. Select **Create**.
81
+
82
+
1. On the **Basics** tab, provide the following information:
83
+
84
+
| Parameter | Value |
85
+
| --------- | ----- |
86
+
|**Subscription**| Select the subscription that contains your Arc-enabled cluster. |
87
+
|**Resource group**| Select the resource group that contains your Arc-enabled cluster. |
88
+
|**Cluster name**| Select the cluster that you want to deploy Azure IoT Operations to. |
89
+
|**Custom location name**|*Optional*: Replace the default name for the custom location. |
90
+
91
+
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-basics.png" alt-text="A screenshot that shows the first tab for deploying Azure IoT Operations from the portal.":::
92
+
93
+
1. Select **Next: Configuration**.
94
+
95
+
1. On the **Configuration** tab, provide the following information:
96
+
97
+
| Parameter | Value |
98
+
| --------- | ----- |
99
+
|**Azure IoT Operations name**|*Optional*: Replace the default name for the Azure IoT Operations instance. |
100
+
|**MQTT broker configuration**|*Optional*: Edit the default settings for the MQTT broker. For more information, see [Configure core MQTT broker settings](../manage-mqtt-broker/howto-configure-availability-scale.md). |
101
+
|**Dataflow profile configuration**|*Optional*: Edit the default settings for dataflows. For more information, see [Configure dataflow profile](../connect-to-cloud/howto-configure-dataflow-profile.md). |
102
+
103
+
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-configuration.png" alt-text="A screenshot that shows the second tab for deploying Azure IoT Operations from the portal.":::
104
+
105
+
1. Select **Next: Dependency management**.
106
+
107
+
1. On the **Dependency management** tab, select an existing schema registry or use these steps to create one:
108
+
109
+
1. Select **Create new**.
110
+
111
+
1. Provide a **Schema registry name** and **Schema registry namespace**.
112
+
113
+
1. Select **Select Azure Storage container**.
114
+
115
+
1. Schema registry requires an Azure Storage account with hierarchical namespace and public network access enabled. Choose a storage account from the list of hierarchical namespace-enabled accounts, or select **Create** to create one.
116
+
117
+
1. Select a container in your storage account or select **Container** to create one.
118
+
119
+
1. Select **Apply** to confirm the schema registry configurations.
120
+
121
+
1. On the **Dependency management** tab, select the **Secure settings** deployment option.
122
+
123
+
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-dependency-management-1.png" alt-text="A screenshot that shows selecting secure settings on the third tab for deploying Azure IoT Operations from the portal.":::
124
+
125
+
1. In the **Deployment options** section, provide the following information:
126
+
127
+
| Parameter | Value |
128
+
| --------- | ----- |
129
+
|**Subscription**| Select the subscription that contains your Azure key vault. |
130
+
|**Azure Key Vault**| Select an Azure key vault select **Create new**.<br><br>Ensure that your key vault has **Vault access policy** as its permission model. To check this setting, select **Manage selected vault** > **Settings** > **Access configuration**. |
131
+
|**User assigned managed identity for secrets**| Select an identity or select **Create new**. |
132
+
|**User assigned managed identity for AIO components**| Select an identity or select **Create new**. Don't use the same managed identity as the one you selected for secrets. |
133
+
134
+
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-dependency-management-2.png" alt-text="A screenshot that shows configuring secure settings on the third tab for deploying Azure IoT Operations from the portal.":::
135
+
136
+
1. Select **Next: Automation**.
137
+
138
+
1. One at a time, run each Azure CLI command on the **Automation** tab in a terminal:
139
+
140
+
1. Sign in to Azure CLI interactively with a browser even if you already signed in before. If you don't sign in interactively, you might get an error that says *Your device is required to be managed to access your resource* when you continue to the next step to deploy Azure IoT Operations.
141
+
142
+
```azurecli
143
+
az login
144
+
```
145
+
146
+
1. If you didn't prepare your Azure CLI environment as described in the prerequisites, do so now in a terminal of your choice:
147
+
148
+
```azurecli
149
+
az upgrade
150
+
az extension add --upgrade --name azure-iot-ops
151
+
```
152
+
153
+
1. If you chose to create a new schema registry on the previous tab, copy and run the `az iot ops schema registry create` command.
154
+
155
+
1. Copy and run the `az iot ops init` command.
156
+
157
+
1. Copy and run the `az iot ops create` command.
158
+
159
+
1. Copy and run the `az iot ops secretsync enable` command.
160
+
161
+
1. Copy and run the `az iot ops identity assign` command.
162
+
163
+
1. Once all of the Azure CLI commands complete successfully, you can close the **Install Azure IoT Operations** wizard.
164
+
76
165
### [Azure CLI](#tab/cli)
77
166
78
167
1. Sign in to Azure CLI interactively with a browser even if you already signed in before.
@@ -106,9 +195,11 @@ Azure IoT Operations requires a schema registry on your cluster. Schema registry
106
195
107
196
| Optional parameter | Value | Description |
108
197
| --------- | ----- | ----------- |
109
-
|`--custom-role-id`| Role definition ID | Provide a custom role ID to assign to the schema registry instead of the default **Storage Blob Data Contributor** role. Format: `/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleDefinitions/<ROLE_ID>`. |
198
+
|`--custom-role-id`| Role definition ID | Provide a custom role ID to assign to the schema registry instead of the default **Storage Blob Data Contributor** role. At a minimum, the role needs blob read and write permissions. Format: `/subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleDefinitions/<ROLE_ID>`. |
110
199
|`--sa-container`| string | Storage account container to store schemas. If this container doesn't exist, this command creates it. The default container name is **schemas**. |
111
200
201
+
1. Copy the resource ID from the output of the schema registry create command to use in the next section.
202
+
112
203
### Deploy Azure IoT Operations
113
204
114
205
1. Prepare your cluster with the dependencies that Azure IoT Operations requires by running [az iot ops init](/cli/azure/iot/ops#az-iot-ops-init).
@@ -137,7 +228,7 @@ Azure IoT Operations requires a schema registry on your cluster. Schema registry
137
228
| Optional parameter | Value | Description |
138
229
| --------- | ----- | ----------- |
139
230
|`--no-progress`|| Disables the deployment progress display in the terminal. |
140
-
|`--enable-rsync-rules`|| Enable the resource sync rules on the instance to project resources from the cloud to the edge. |
231
+
|`--enable-rsync-rules`|| Enable the resource sync rules on the instance to project resources from the edge to the cloud. |
141
232
|`--add-insecure-listener`|| Add an insecure 1883 port config to the default listener. *Not for production use*. |
142
233
|`--broker-config-file`| Path to JSON file | Provide a configuration file for the MQTT broker. For more information, see [Advanced MQTT broker config](https://github.com/Azure/azure-iot-ops-cli-extension/wiki/Advanced-Mqtt-Broker-Config) and [Configure core MQTT broker settings](../manage-mqtt-broker/howto-configure-availability-scale.md). |
143
234
@@ -184,95 +275,6 @@ Azure secret requires a user-assigned managed identity with access to the Azure
1. In the [Azure portal](https://portal.azure.com), search for and select **Azure IoT Operations**.
190
-
191
-
1. Select **Create**.
192
-
193
-
1. On the **Basics** tab, provide the following information:
194
-
195
-
| Parameter | Value |
196
-
| --------- | ----- |
197
-
|**Subscription**| Select the subscription that contains your Arc-enabled cluster. |
198
-
|**Resource group**| Select the resource group that contains your Arc-enabled cluster. |
199
-
|**Cluster name**| Select the cluster that you want to deploy Azure IoT Operations to. |
200
-
|**Custom location name**|*Optional*: Replace the default name for the custom location. |
201
-
202
-
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-basics.png" alt-text="A screenshot that shows the first tab for deploying Azure IoT Operations from the portal.":::
203
-
204
-
1. Select **Next: Configuration**.
205
-
206
-
1. On the **Configuration** tab, provide the following information:
207
-
208
-
| Parameter | Value |
209
-
| --------- | ----- |
210
-
|**Azure IoT Operations name**|*Optional*: Replace the default name for the Azure IoT Operations instance. |
211
-
|**MQTT broker configuration**|*Optional*: Edit the default settings for the MQTT broker. For more information, see [Configure core MQTT broker settings](../manage-mqtt-broker/howto-configure-availability-scale.md). |
212
-
|**Dataflow profile configuration**|*Optional*: Edit the default settings for dataflows. For more information, see [Configure dataflow profile](../connect-to-cloud/howto-configure-dataflow-profile.md). |
213
-
214
-
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-configuration.png" alt-text="A screenshot that shows the second tab for deploying Azure IoT Operations from the portal.":::
215
-
216
-
1. Select **Next: Dependency management**.
217
-
218
-
1. On the **Dependency management** tab, select an existing schema registry or use these steps to create one:
219
-
220
-
1. Select **Create new**.
221
-
222
-
1. Provide a **Schema registry name** and **Schema registry namespace**.
223
-
224
-
1. Select **Select Azure Storage container**.
225
-
226
-
1. Schema registry requires an Azure Storage account with hierarchical namespace and public network access enabled. Choose a storage account from the list of hierarchical namespace-enabled accounts, or select **Create** to create one.
227
-
228
-
1. Select a container in your storage account or select **Container** to create one.
229
-
230
-
1. Select **Apply** to confirm the schema registry configurations.
231
-
232
-
1. On the **Dependency management** tab, select the **Secure settings** deployment option.
233
-
234
-
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-dependency-management-1.png" alt-text="A screenshot that shows selecting secure settings on the third tab for deploying Azure IoT Operations from the portal.":::
235
-
236
-
1. In the **Deployment options** section, provide the following information:
237
-
238
-
| Parameter | Value |
239
-
| --------- | ----- |
240
-
|**Subscription**| Select the subscription that contains your Azure key vault. |
241
-
|**Azure Key Vault**| Select an Azure key vault select **Create new**.<br><br>Ensure that your key vault has **Vault access policy** as its permission model. To check this setting, select **Manage selected vault** > **Settings** > **Access configuration**. |
242
-
|**User assigned managed identity for secrets**| Select an identity or select **Create new**. |
243
-
|**User assigned managed identity for AIO components**| Select an identity or select **Create new**. Don't use the same managed identity as the one you selected for secrets. |
244
-
245
-
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-dependency-management-2.png" alt-text="A screenshot that shows configuring secure settings on the third tab for deploying Azure IoT Operations from the portal.":::
246
-
247
-
1. Select **Next: Automation**.
248
-
249
-
1. One at a time, run each Azure CLI command on the **Automation** tab in a terminal:
250
-
251
-
1. Sign in to Azure CLI interactively with a browser even if you already signed in before. If you don't sign in interactively, you might get an error that says *Your device is required to be managed to access your resource* when you continue to the next step to deploy Azure IoT Operations.
252
-
253
-
```azurecli
254
-
az login
255
-
```
256
-
257
-
1. If you didn't prepare your Azure CLI environment as described in the prerequisites, do so now in a terminal of your choice:
258
-
259
-
```azurecli
260
-
az upgrade
261
-
az extension add --upgrade --name azure-iot-ops
262
-
```
263
-
264
-
1. If you chose to create a new schema registry on the previous tab, copy and run the `az iot ops schema registry create` command.
265
-
266
-
1. Copy and run the `az iot ops init` command.
267
-
268
-
1. Copy and run the `az iot ops create` command.
269
-
270
-
1. Copy and run the `az iot ops secretsync enable` command.
271
-
272
-
1. Copy and run the `az iot ops identity assign` command.
273
-
274
-
1. Once all of the Azure CLI commands complete successfully, you can close the **Install Azure IoT Operations** wizard.
275
-
276
278
---
277
279
278
280
While the deployment is in progress, you can watch the resources being applied to your cluster.
Copy file name to clipboardExpand all lines: articles/iot-operations/deploy-iot-ops/howto-prepare-cluster.md
+2-8Lines changed: 2 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Azure IoT Operations should work on any Arc-enabled Kubernetes cluster that meet
27
27
28
28
Microsoft supports Azure Kubernetes Service (AKS) Edge Essentials for deployments on Windows and K3s for deployments on Ubuntu. For a list of specific hardware and software combinations that are tested and validated, see [Validated environments](../overview-iot-operations.md#validated-environments).
29
29
30
-
If you want to deploy Azure IoT Operations to a multi-node solution, we recommend K3s on Ubuntu.
30
+
If you want to deploy Azure IoT Operations to a multi-node solution, use K3s on Ubuntu.
31
31
32
32
To prepare your Azure Arc-enabled Kubernetes cluster, you need:
33
33
@@ -55,7 +55,7 @@ To prepare your Azure Arc-enabled Kubernetes cluster, you need:
55
55
56
56
* Hardware that meets the system requirements:
57
57
58
-
* Ensure that your machine has a minimum of 10-GB RAM, 4 vCPUs, and 40-GB free disk space.
58
+
* Ensure that your machine has a minimum of 10-GB available RAM, 4 available vCPUs, and 52-GB free disk space reserved for Azure IoT Operations.
59
59
*[Azure Arc-enabled Kubernetes system requirements](/azure/azure-arc/kubernetes/system-requirements).
60
60
*[AKS Edge Essentials requirements and support matrix](/azure/aks/hybrid/aks-edge-system-requirements).
@@ -152,12 +152,6 @@ The [AksEdgeQuickStartForAio.ps1](https://github.com/Azure/AKS-Edge/blob/main/to
152
152
153
153
In the output of the `Get-AksEdgeDeploymentInfo` command, you should see that the cluster's Arc status is `Connected`.
154
154
155
-
### Configure multi-node clusters for Azure Container Storage
156
-
157
-
On multi-node clusters with at least three nodes, you have the option of enabling fault tolerance for storage with [Azure Container Storage enabled by Azure Arc](/azure/azure-arc/container-storage/overview) when you deploy Azure IoT Operations.
158
-
159
-
By default, Azure Kubernetes Service Edge Essentials clusters support Azure Container Storage. There are no extra steps to configure AKS Edge Essential clusters for fault tolerance.
Copy file name to clipboardExpand all lines: articles/iot-operations/deploy-iot-ops/overview-deploy.md
+11-12Lines changed: 11 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,8 +20,6 @@ Azure IoT Operations should work on any Arc-enabled Kubernetes cluster that meet
20
20
21
21
Microsoft supports Azure Kubernetes Service (AKS) Edge Essentials for deployments on Windows and K3s for deployments on Ubuntu. For a list of specific hardware and software combinations that are tested and validated, see [Validated environments](../overview-iot-operations.md#validated-environments).
22
22
23
-
If you want to deploy Azure IoT Operations to a multi-node solution, we recommend K3s on Ubuntu.
24
-
25
23
## Choose your features
26
24
27
25
Azure IoT Operations offers two deployment modes. You can choose to deploy with *test settings*, a basic subset of features that are simpler to get started with for evaluation scenarios. Or, you can choose to deploy with *secure settings*, the full feature set.
@@ -55,18 +53,17 @@ The following table described Azure IoT Operations deployment and management tas
55
53
56
54
| Task | Required permission | Comments |
57
55
| ---- | ------------------- | -------- |
58
-
| Deploy Azure IoT Operations |**Contributor** permissions at the subscription level. ||
59
-
| Create secrets in Key Vault |**Key Vault Secrets Officer** permissions at the resource level. | Only required for secure settings deployment. |
60
-
| Enable resource sync rules on an Azure IoT Operations instance |**Microsoft/Authorization/roleAssignments/write** permissions at the resource group level. | Resource sync rules are disabled by default, but can be enabled during instance creation. |
56
+
| Deploy Azure IoT Operations |**Contributor** role at the subscription level. ||
57
+
| Register resource providers |**Contributor** role at the subscription level. | Only required to do once per subscription. |
61
58
| Create a schema registry. |**Microsoft/Authorization/roleAssignments/write** permissions at the resource group level. ||
59
+
| Create secrets in Key Vault |**Key Vault Secrets Officer** role at the resource level. | Only required for secure settings deployment. |
60
+
| Enable resource sync rules on an Azure IoT Operations instance |**Microsoft/Authorization/roleAssignments/write** permissions at the resource group level. | Resource sync rules are disabled by default, but can be enabled during instance creation. |
61
+
62
+
If you use the Azure CLI to assign roles, use the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command to give permissions. For example, `az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup`
63
+
64
+
If you use the Azure portal to assign privileged admin roles to a user or principal, you're prompted to restrict access using conditions. For this scenario, select the **Allow user to assign all roles** condition in the **Add role assignment** page.
62
65
63
-
> [!TIP]
64
-
>
65
-
> * If you use the Azure CLI to assign roles, use the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command to give permissions. For example, `az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup`
66
-
>
67
-
> * If you use the Azure portal to assign privileged admin roles to a user or principal, you're prompted to restrict access using conditions. For this scenario, select the **Allow user to assign all roles** condition in the **Add role assignment** page.
68
-
>
69
-
> :::image type="content" source="./media/howto-deploy-iot-operations/add-role-assignment-conditions.png" alt-text="Screenshot that shows assigning users highly privileged role access in the Azure portal.":::
66
+
:::image type="content" source="./media/howto-deploy-iot-operations/add-role-assignment-conditions.png" alt-text="Screenshot that shows assigning users highly privileged role access in the Azure portal.":::
70
67
71
68
## Included components
72
69
@@ -76,10 +73,12 @@ Azure IoT Operations is a suite of data services that run on Azure Arc-enabled e
Copy file name to clipboardExpand all lines: articles/iot-operations/get-started-end-to-end-sample/quickstart-deploy.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,7 +110,7 @@ To connect your cluster to Azure Arc:
110
110
1. Use the [az connectedk8s connect](/cli/azure/connectedk8s#az-connectedk8s-connect) command to Arc-enable your Kubernetes cluster and manage it as part of your Azure resource group:
111
111
112
112
```azurecli
113
-
az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP --disable-auto-upgrade
113
+
az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP
0 commit comments