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
+29-10Lines changed: 29 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ author: kgremban
5
5
ms.author: kgremban
6
6
ms.topic: how-to
7
7
ms.custom: ignite-2023, devx-track-azurecli
8
-
ms.date: 09/26/2024
8
+
ms.date: 10/02/2024
9
9
10
10
#CustomerIntent: As an OT professional, I want to deploy Azure IoT Operations to a Kubernetes cluster.
11
11
---
@@ -112,7 +112,9 @@ The Azure portal deployment experience is a helper tool that generates a deploym
112
112
113
113
1. Select **Select Azure Storage container**.
114
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.
115
+
1. Choose a storage account from the list of hierarchical namespace-enabled accounts, or select **Create** to create one.
116
+
117
+
Schema registry requires an Azure Storage account with hierarchical namespace and public network access enabled. When creating a new storage account, choose a **General purpose v2** storage account type and set **Hierarchical namespace** to **Enabled**.
116
118
117
119
1. Select a container in your storage account or select **Container** to create one.
118
120
@@ -152,13 +154,22 @@ The Azure portal deployment experience is a helper tool that generates a deploym
152
154
153
155
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
156
155
-
1. Copy and run the `az iot ops init` command.
157
+
1. Prepare your cluster for Azure IoT Operations deployment by deploying dependencies and foundational services, including schema registry. Copy and run the `az iot ops init` command.
158
+
159
+
>[!TIP]
160
+
>The `init` command only needs to be run once per cluster. If you're reusing a cluster that already had Azure IoT Operations version 0.7.0 deployed on it, you can skip this step.
161
+
162
+
This command might take several minutes to complete. You can watch the progress in the deployment progress display in the terminal.
163
+
164
+
:::image type="content" source="./media/howto-deploy-iot-operations/az-iot-ops-init-progress.png" alt-text="A screenshot that shows the progress display for the `az iot ops init` command - portal deployment.":::
165
+
166
+
1. Deploy Azure IoT Operations to your cluster. Copy and run the `az iot ops create` command.
156
167
157
-
1. Copy and run the `az iot ops create` command.
168
+
This command might take several minutes to complete.
158
169
159
-
1. Copy and run the `az iot ops secretsync enable` command.
170
+
1. Enable secret sync on your Azure IoT Operations instance. Copy and run the `az iot ops secretsync enable` command.
160
171
161
-
1. Copy and run the `az iot ops identity assign` command.
172
+
1. Assign a user-assigned managed identity to your Azure IoT Operations instance. Copy and run the `az iot ops identity assign` command.
162
173
163
174
1. Once all of the Azure CLI commands complete successfully, you can close the **Install Azure IoT Operations** wizard.
164
175
@@ -204,15 +215,20 @@ Azure IoT Operations requires a schema registry on your cluster. Schema registry
204
215
205
216
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).
206
217
218
+
>[!TIP]
219
+
>The `init` command only needs to be run once per cluster. If you're reusing a cluster that already had Azure IoT Operations version 0.7.0 deployed on it, you can skip this step.
220
+
207
221
```azurecli
208
222
az iot ops init --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --sr-resource-id <SCHEMA_REGISTRY_RESOURCE_ID>
209
223
```
210
224
225
+
This command might take several minutes to complete. You can watch the progress in the deployment progress display in the terminal.
226
+
211
227
Use the [optional parameters](/cli/azure/iot/ops#az-iot-ops-init-optional-parameters) to customize your cluster, including:
212
228
213
229
| Optional parameter | Value | Description |
214
230
| --------- | ----- | ----------- |
215
-
|`--no-progress`||Disables the deployment progress display in the terminal. |
231
+
|`--no-progress`||Disable the deployment progress display in the terminal. |
216
232
|`--enable-fault-tolerance`|`false`, `true`| Enables fault tolerance for Azure Arc Container Storage. At least three cluster nodes are required. |
217
233
|`--ops-config`|`observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT>`| If you followed the optional prerequisites to prepare your cluster for observability, provide the OpenTelemetry (OTel) collector address you configured in the otel-collector-values.yaml file.<br><br>The sample values used in [Configure observability](../configure-observability-monitoring/howto-configure-observability.md) are **fullnameOverride=aio-otel-collector** and **grpc.enpoint=4317**. |
218
234
|`--ops-config`|`observability.metrics.exportInternalSeconds=<CHECK_INTERVAL>`| If you followed the optional prerequisites to prepare your cluster for observability, provide the **check_interval** value you configured in the otel-collector-values.yaml file.<br><br>The sample value used in [Configure observability](../configure-observability-monitoring/howto-configure-observability.md) is **check_interval=60**. |
@@ -223,13 +239,16 @@ Azure IoT Operations requires a schema registry on your cluster. Schema registry
223
239
az iot ops create --name <NEW_INSTANCE_NAME> --cluster <CLUSTER_NAME> --resource-group <RESOURCE_GROUP>
224
240
```
225
241
242
+
This command might take several minutes to complete. You can watch the progress in the deployment progress display in the terminal.
243
+
226
244
Use the optional parameters to customize your instance, including:
227
245
228
246
| Optional parameter | Value | Description |
229
247
| --------- | ----- | ----------- |
230
-
|`--no-progress`||Disables the deployment progress display in the terminal. |
248
+
|`--no-progress`||Disable the deployment progress display in the terminal. |
231
249
|`--enable-rsync-rules`|| Enable the resource sync rules on the instance to project resources from the edge to the cloud. |
232
250
|`--add-insecure-listener`|| Add an insecure 1883 port config to the default listener. *Not for production use*. |
251
+
|`--custom-location`| String | Provide a name for the custom location created for your cluster. The default value is **location-{hash(5)}**. |
233
252
|`--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). |
234
253
235
254
Once the `create` command completes successfully, you have a working Azure IoT Operations instance running on your cluster. At this point, your instance is configured for most testing and evaluation scenarios. If you want to prepare your instance for production scenarios, continue to the next section to enable secure settings.
@@ -280,12 +299,12 @@ Azure secret requires a user-assigned managed identity with access to the Azure
280
299
While the deployment is in progress, you can watch the resources being applied to your cluster.
281
300
282
301
If your terminal supports it, the `init` and `create` commands display the deployment progress.
283
-
302
+
<!--
284
303
:::image type="content" source="./media/howto-deploy-iot-operations/view-deployment-terminal.png" alt-text="A screenshot that shows the progress of an Azure IoT Operations deployment in a terminal.":::
285
304
286
305
Once the **Deploy IoT Operations** phase begins, the text in the terminal becomes a link to view the deployment progress in the Azure portal.
287
306
288
-
:::image type="content" source="./media/howto-deploy-iot-operations/view-deployment-portal.png" alt-text="A screenshot that shows the progress of an Azure IoT Operations deployment in the Azure portal." lightbox="./media/howto-deploy-iot-operations/view-deployment-portal.png":::
307
+
:::image type="content" source="./media/howto-deploy-iot-operations/view-deployment-portal.png" alt-text="A screenshot that shows the progress of an Azure IoT Operations deployment in the Azure portal." lightbox="./media/howto-deploy-iot-operations/view-deployment-portal.png":::-->
289
308
290
309
Otherwise, or if you choose to disable the progress interface with `--no-progress` added to the commands, you can use kubectl commands to view the pods on your cluster:
* If you're going to deploy Azure IoT Operations to a multi-node cluster, review the hardware and storage requirements in [Prepare Linux for Edge Volumes](/azure/azure-arc/container-storage/prepare-linux-edge-volumes).
54
+
53
55
### [Ubuntu](#tab/ubuntu)
54
56
55
57
* An Azure subscription. If you don't have an Azure subscription, [create one for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
@@ -64,6 +66,7 @@ To prepare your Azure Arc-enabled Kubernetes cluster, you need:
64
66
65
67
* Hardware that meets the system requirements:
66
68
69
+
* Ensure that your machine has a minimum of 16-GB available RAM and 8 available vCPUs reserved for Azure IoT Operations.
67
70
*[Azure Arc-enabled Kubernetes system requirements](/azure/azure-arc/kubernetes/system-requirements).
Copy file name to clipboardExpand all lines: articles/iot-operations/deploy-iot-ops/overview-deploy.md
+66Lines changed: 66 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,6 +86,72 @@ Azure IoT Operations supports Azure Arc sites for organizing instances. A _site_
86
86
87
87
For more information, see [What is Azure Arc site manager (preview)?](/azure/azure-arc/site-manager/overview)
88
88
89
+
## Domain allowlist for Azure IoT Operations
90
+
91
+
If you use enterprise firewalls or proxies to manage outbound traffic, add the following endpoints to your domain allowlist before deploying Azure IoT Operations Preview.
92
+
93
+
Some of these domains are Arc-enabled Kubernetes endpoints. For more information about how those are used, see [Azure Arc network requirements](/azure/azure-arc/network-requirements-consolidated).
94
+
95
+
```text
96
+
nw-umwatson.events.data.microsoft.com
97
+
dc.services.visualstudio.com
98
+
github.com
99
+
sts.windows.net
100
+
login.windows.net
101
+
self.events.data.microsoft.com
102
+
mirror.enzu.com
103
+
ppa.launchpadcontent.net
104
+
msit-onelake.pbidedicated.windows.net
105
+
gcr.io
106
+
adhs.events.data.microsoft.com
107
+
gbl.his.arc.azure.cn
108
+
mcr.microsoft.com
109
+
onegetcdn.azureedge.net
110
+
graph.windows.net
111
+
pas.windows.net
112
+
agentserviceapi.guestconfiguration.azure.com
113
+
aka.ms
114
+
api.segment.io
115
+
download.microsoft.com
116
+
gbl.his.arc.azure.com
117
+
raw.githubusercontent.com
118
+
go.microsoft.com
119
+
global.metrics.azure.eaglex.ic.gov
120
+
gbl.his.arc.azure.us
121
+
management.azure.com
122
+
packages.microsoft.com
123
+
global.metrics.azure.microsoft.scloud
124
+
k8sconnectcsp.azureedge.net
125
+
www.powershellgallery.com
126
+
k8connecthelm.azureedge.net
127
+
login.microsoftonline.com
128
+
k8s.io
129
+
guestconfiguration.azure.com
130
+
ods.opinsights.azure.com
131
+
dp.kubernetesconfiguration.azure.com
132
+
login.microsoft.com
133
+
vault.azure.net
134
+
obo.arc.azure.com
135
+
data.mcr.microsoft.com
136
+
servicebus.windows.net
137
+
googleapis.com
138
+
quay.io
139
+
his.arc.azure.com
140
+
handler.control.monitor.azure.com
141
+
pkg.dev
142
+
docker.io
143
+
prod.hot.ingestion.msftcloudes.com
144
+
docker.com
145
+
prod.microsoftmetrics.com
146
+
oms.opinsights.azure.com
147
+
azureedge.net
148
+
monitoring.azure.com
149
+
guestnotificationservice.azure.com
150
+
blob.core.windows.net
151
+
azurecr.io
152
+
graph.microsoft.com
153
+
```
154
+
89
155
## Next steps
90
156
91
157
[Prepare your Azure Arc-enabled Kubernetes cluster](./howto-prepare-cluster.md) to configure and Arc-enable a cluster for Azure IoT Operations.
Copy file name to clipboardExpand all lines: articles/iot-operations/get-started-end-to-end-sample/quickstart-deploy.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
@@ -170,18 +170,22 @@ Run the following CLI commands in your Codespaces terminal.
170
170
1. Initialize your cluster for Azure IoT Operations.
171
171
172
172
>[!TIP]
173
-
>This command only needs to be run once per cluster. If you're reusing a cluster that already had Azure IoT Operations version 0.7.0 deployed on it, you can skip this step.
173
+
>The `init` command only needs to be run once per cluster. If you're reusing a cluster that already had Azure IoT Operations version 0.7.0 deployed on it, you can skip this step.
This command might take several minutes to complete. You can watch the progress in the deployment progress display in the terminal.
180
+
179
181
1. Deploy Azure IoT Operations. This command takes several minutes to complete:
180
182
181
183
```azurecli
182
184
az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance
183
185
```
184
186
187
+
This command might take several minutes to complete. You can watch the progress in the deployment progress display in the terminal.
188
+
185
189
If you get an error that says *Your device is required to be managed to access your resource*, run `az login` again and make sure that you sign in interactively with a browser.
0 commit comments