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
+75-17Lines changed: 75 additions & 17 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: 07/30/2024
8
+
ms.date: 08/02/2024
9
9
10
10
#CustomerIntent: As an OT professional, I want to deploy Azure IoT Operations to a Kubernetes cluster.
11
11
---
@@ -43,7 +43,7 @@ Cloud resources:
43
43
44
44
:::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.":::
45
45
46
-
* An Azure Key Vault that has the **Permission model** set to **Vault access policy**. You can check this setting in the **Access configuration** section of an existing key vault. If you need to create a new key vault, use the [az keyvault create](/cli/azure/keyvault#az-keyvault-create) command:
46
+
* An Azure key vault that has the **Permission model** set to **Vault access policy**. You can check this setting in the **Access configuration** section of an existing key vault. To create a new key vault, use the [az keyvault create](/cli/azure/keyvault#az-keyvault-create) command:
47
47
48
48
```azurecli
49
49
az keyvault create --enable-rbac-authorization false --name "<KEYVAULT_NAME>" --resource-group "<RESOURCE_GROUP>"
@@ -65,7 +65,7 @@ A cluster host:
65
65
66
66
If you deployed Azure IoT Operations to your cluster previously, uninstall those resources before continuing. For more information, see [Update Azure IoT Operations](#update-azure-iot-operations).
67
67
68
-
Azure IoT Operations should work on any CNCF-conformant kubernetes cluster. Currently, Microsoft only supports K3s on Ubuntu Linux and WSL, or AKS Edge Essentials on Windows. Using Ubuntu in Windows Subsystem for Linux (WSL) is the simplest way to get a Kubernetes cluster for testing.
68
+
Azure IoT Operations should work on any CNCF-conformant kubernetes cluster. Currently, Microsoft only supports K3s on Ubuntu Linux and WSL, or AKS Edge Essentials on Windows.
69
69
70
70
Use the Azure IoT Operations extension for Azure CLI to verify that your cluster host is configured correctly for deployment by using the [verify-host](/cli/azure/iot/ops#az-iot-ops-verify-host) command on the cluster host:
71
71
@@ -75,7 +75,11 @@ A cluster host:
75
75
76
76
## Deploy
77
77
78
-
Use the Azure CLI to deploy Azure IoT Operations to your Arc-enabled Kubernetes cluster.
78
+
Use the Azure portal or Azure CLI to deploy Azure IoT Operations to your Arc-enabled Kubernetes cluster.
79
+
80
+
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.
81
+
82
+
### [Azure CLI](#tab/cli)
79
83
80
84
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.
81
85
@@ -108,31 +112,85 @@ Use the Azure CLI to deploy Azure IoT Operations to your Arc-enabled Kubernetes
108
112
109
113
If you want to use an existing service principal and app registration instead of allowing `init` to create new ones, include the `--sp-app-id,``--sp-object-id`, and `--sp-secret` parameters. For more information, see [Configure service principal and Key Vault manually](howto-manage-secrets.md#configure-service-principal-and-key-vault-manually).
110
114
111
-
1. While the deployment is in progress, you can watch the resources being applied to your cluster.
115
+
### [Azure portal](#tab/portal)
116
+
117
+
1. In the [Azure portal](https://portal.azure.com), search for and select **Azure IoT Operations**.
118
+
119
+
1. Select **Create**.
120
+
121
+
1. On the **Basics** tab, provide the following information:
112
122
113
-
* If your terminal supports it, `init` displays the deployment progress.
123
+
| Parameter | Value |
124
+
| --------- | ----- |
125
+
|**Subscription**| Select the subscription that contains your Arc-enabled cluster. |
126
+
|**Resource group**| Select the resource group that contains your Arc-enabled cluster. |
127
+
|**Cluster name**| Select the cluster that you want to deploy Azure IoT Operations to. |
128
+
|**Custom location name**|*Optional*: Replace the default name for the custom location. |
114
129
115
-
:::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.":::
130
+
:::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.":::
116
131
117
-
Once the **Deploy IoT Operations** phase begins, the text in the terminal becomes a link to view the deployment progress in the Azure portal.
132
+
1. Select **Next: Configuration**.
118
133
119
-
:::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":::
134
+
1. On the **Configuration** tab, provide the following information:
120
135
121
-
* Otherwise, or if you choose to disable the progress interface with `--no-progress`, you can use kubectl commands to view the pods on your cluster:
136
+
| Parameter | Value |
137
+
| --------- | ----- |
138
+
|**Azure IoT Operations name**|*Optional*: Replace the default name for the Azure IoT Operations instance. |
139
+
|**MQTT broker configuration**|*Optional*: Replace the default settings for the MQTT broker. For more information, see [Configure core MQTT broker settings](../manage-mqtt-broker/howto-configure-availability-scale.md). |
122
140
123
-
```bash
124
-
kubectl get pods -n azure-iot-operations
125
-
```
141
+
1. Select **Next: Automation**.
126
142
127
-
It can take several minutes forthe deployment to complete. Rerun the `get pods`command to refresh your view.
143
+
1. On the **Automation** tab, provide the following information:
128
144
129
-
1. After the deployment is complete, use [az iot ops check](/cli/azure/iot/ops#az-iot-ops-check) to evaluate IoT Operations service deployment forhealth, configuration, and usability. The *check* command can help you find problemsin your deployment and configuration.
145
+
| Parameter | Value |
146
+
| --------- | ----- |
147
+
|**Subscription**| Select the subscription that contains your Azure key vault. |
148
+
|**Azure Key Vault**| Select your Azure key vault. Or, 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**. |
149
+
150
+
:::image type="content" source="./media/howto-deploy-iot-operations/deploy-automation.png" alt-text="A screenshot that shows the third tab for deploying Azure IoT Operations from the portal.":::
151
+
152
+
1. If you didn't prepare your Azure CLI environment as described in the prerequisites, do so now in a terminal of your choice:
153
+
154
+
```azurecli
155
+
az upgrade
156
+
az extension add --upgrade --name azure-iot-ops
157
+
```
158
+
159
+
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.
130
160
131
161
```azurecli
132
-
az iot ops check
162
+
az login
133
163
```
134
164
135
-
You can also check the configurations of topic maps, QoS, and message routes by adding the `--detail-level 2` parameter for a verbose view.
165
+
1. Copy the [az iot ops init](/cli/azure/iot/ops#az-iot-ops-init) command from the **Automation** tab in the Azure portal and run it in your terminal.
166
+
167
+
---
168
+
169
+
While the deployment is in progress, you can watch the resources being applied to your cluster.
170
+
171
+
* If your terminal supports it, `init` displays the deployment progress.
172
+
173
+
:::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.":::
174
+
175
+
Once the **Deploy IoT Operations** phase begins, the text in the terminal becomes a link to view the deployment progress in the Azure portal.
176
+
177
+
:::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":::
178
+
179
+
* Otherwise, or if you choose to disable the progress interface with `--no-progress`, you can use kubectl commands to view the pods on your cluster:
180
+
181
+
```bash
182
+
kubectl get pods -n azure-iot-operations
183
+
```
184
+
185
+
It can take several minutes for the deployment to complete. Rerun the `get pods` command to refresh your view.
186
+
187
+
After the deployment is complete, use [az iot ops check](/cli/azure/iot/ops#az-iot-ops-check) to evaluate IoT Operations service deployment for health, configuration, and usability. The *check* command can help you find problems in your deployment and configuration.
188
+
189
+
```azurecli
190
+
az iot ops check
191
+
```
192
+
193
+
You can also check the configurations of topic maps, QoS, and message routes by adding the `--detail-level 2` parameter for a verbose view.
0 commit comments