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
+26-3Lines changed: 26 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,19 @@ Deploy Azure IoT Operations preview - enabled by Azure Arc to a Kubernetes clust
17
17
18
18
## Prerequisites
19
19
20
+
Cloud resources:
21
+
20
22
* 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.
21
23
24
+
* Azure access permissions. At a minimum, have **Contributor** permissions in your Azure subscription. Depending on the deployment method and feature flag status you select, you may also need **Microsoft/Authorization/roleAssignments/write** permissions. If you *don't* have role assignment write permissions, take the following additional steps when deploying:
25
+
26
+
* If deploying with an Azure Resource Manager template, set the `deployResourceSyncRules` parameter to `false`.
27
+
* If deploying with the Azure CLI, include the `--disable-rsync-rules`.
28
+
29
+
* An [Azure Key Vault](../../key-vault/general/overview.md) 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.
30
+
31
+
Development resources:
32
+
22
33
* Azure CLI installed on your development machine. For more information, see [How to install the Azure CLI](/cli/azure/install-azure-cli). This scenario requires Azure CLI version 2.46.0 or higher. Use `az --version` to check your version and `az upgrade` to update if necessary.
23
34
24
35
* The Azure IoT Operations extension for Azure CLI. Use the following command to add the extension or update it to the latest version:
@@ -27,17 +38,20 @@ Deploy Azure IoT Operations preview - enabled by Azure Arc to a Kubernetes clust
27
38
az extension add --upgrade --name azure-iot-ops
28
39
```
29
40
30
-
* An Azure Arc-enabled Kubernetes cluster. If you don't have one, follow the steps in [Prepare your Azure Arc-enabled Kubernetes cluster](./howto-prepare-cluster.md?tabs=wsl-ubuntu). Using Ubuntu in Windows Subsystem for Linux (WSL) is the simplest way to get a Kubernetes cluster for testing.
41
+
A cluster host:
42
+
43
+
* An Azure Arc-enabled Kubernetes cluster. If you don't have one, follow the steps in [Prepare your Azure Arc-enabled Kubernetes cluster](./howto-prepare-cluster.md?tabs=wsl-ubuntu).
31
44
32
-
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.
45
+
If you've already deployed Azure IoT Operations to your cluster, uninstall those resources before continuing. For more information, see [Update a deployment](#update-a-deployment).
46
+
47
+
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.
33
48
34
49
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:
35
50
36
51
```azurecli
37
52
az iot ops verify-host
38
53
```
39
54
40
-
* An [Azure Key Vault](../../key-vault/general/overview.md) 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 get an error that says *Your device is required to be managed to access your resource*, go back to the previous step and make sure that you signed in interactively.
130
144
145
+
If you don't have **Microsoft.Authorization/roleAssignment/write** permissions in your Azure subscription, include the `--disable-rsync-rules` feature flag.
146
+
131
147
Use optional flags to customize the `az iot ops init` command. To learn more, see [az iot ops init](/cli/azure/iot/ops#az-iot-ops-init).
132
148
133
149
#### [GitHub Actions](#tab/github)
@@ -208,6 +224,7 @@ Now, you can deploy Azure IoT Operations to your cluster.
208
224
|`dataProcessorSecrets`| object | Pass a secret to an Azure IoT Data Processor resource. |
209
225
|`mqSecrets`| object | Pass a secret to an Azure IoT MQ resource. |
210
226
|`opcUaBrokerSecrets`| object | Pass a secret to an Azure OPC UA Broker resource. |
227
+
|`deployResourceSyncRules`| Set to `false` if you don't have **Microsoft.Authorization/roleAssignment/write** permissions in your Azure subscription. |
211
228
212
229
1. Save your changes to the parameters file.
213
230
@@ -269,6 +286,12 @@ To view your cluster on the Azure portal, use the following steps:
269
286
270
287
There's also an extension called **akvsecretsprovider**. This extension is the secrets provider that you configured and installed on your cluster with the `az iot ops init` command. You might delete and reinstall the Azure IoT Operations components during testing, but keep the secrets provider extension on your cluster.
271
288
289
+
## Update a deployment
290
+
291
+
Currently, there is no support for updating an existing Azure IoT Operations deployment. Instead, start with a clean cluster for a new deployment.
292
+
293
+
If you want to delete the Azure IoT Operations deployment on your cluster so that you can redeploy to it, navigate to your cluster on the Azure portal. Select the extensions of the type **microsoft.iotoperations.x** and **microsoft.deviceregistry.assets**, then select **Uninstall**. Keep the secrets provider on your cluster, as that is a prerequisite for deployment and not included in a fresh deployment.
294
+
272
295
## Next steps
273
296
274
297
If your components need to connect to Azure endpoints like SQL or Fabric, learn how to [Manage secrets for your Azure IoT Operations deployment](./howto-manage-secrets.md).
Copy file name to clipboardExpand all lines: articles/iot-operations/deploy-iot-ops/howto-manage-secrets.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
@@ -132,7 +132,11 @@ Once you have the secret store set up on your cluster, you can create and add Az
132
132
133
133
1. Create your secret in Key Vault with whatever name and value you need. You can create a secret by using the [Azure portal](https://portal.azure.com) or the [az keyvault secret set](/cli/azure/keyvault/secret#az-keyvault-secret-set) command.
134
134
135
-
1. On your cluster, identify the secret provider class (SPC) for the component that you want to add the secret to. For example, `aio-default-spc`.
135
+
1. On your cluster, identify the secret provider class (SPC) for the component that you want to add the secret to. For example, `aio-default-spc`. Use the following command to list all SPCs on your cluster:
136
+
137
+
```bash
138
+
kubectl get secretproviderclasses -A
139
+
```
136
140
137
141
1. Open the file in your preferred text editor. If you use k9s, type `e` to edit.
Copy file name to clipboardExpand all lines: articles/iot-operations/get-started/quickstart-deploy.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,8 @@ Review the prerequisites based on the environment you use to host the Kubernetes
36
36
37
37
For this quickstart, we recommend GitHub Codespaces as a quick way to get started in a virtual environment without installing new tools. Or, use Azure Kubernetes Service (AKS) Edge Essentials to create a cluster on Windows devices or K3s on Ubuntu Linux devices.
38
38
39
+
As part of this quickstart, you create a cluster in either Codespaces, AKS Edge Essentias, or Linux. If you want to reuse a cluster that you've deployed Azure IoT Operations to before, refer to the steps in [Clean up resources](#clean-up-resources) to uninstall Azure IoT Operations before continuing.
40
+
39
41
# [Virtual](#tab/codespaces)
40
42
41
43
* 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.
@@ -87,6 +89,8 @@ Azure IoT Operations is a suite of data services that run on Kubernetes clusters
87
89
88
90
Azure IoT Operations should work on any Kubernetes cluster that conforms to the Cloud Native Computing Foundation (CNCF) standards. For this quickstart, use GitHub Codespaces, AKS Edge Essentials on Windows, or K3s on Ubuntu Linux.
89
91
92
+
In this section, you create a new cluster and connect it to Azure Arc. If you want to reuse a cluster that you've deployed Azure IoT Operations to before, refer to the steps in [Clean up resources](#clean-up-resources) to uninstall Azure IoT Operations before continuing.
Copy file name to clipboardExpand all lines: articles/iot-operations/troubleshoot/troubleshoot.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,15 @@ For general deployment and configuration troubleshooting, you can use the Azure
25
25
26
26
- Use [az iot ops support create-bundle](/cli/azure/iot/ops/support#az-iot-ops-support-create-bundle) to collect logs and traces to help you diagnose problems. The *support create-bundle* command creates a standard support bundle zip archive you can review or provide to Microsoft Support.
27
27
28
+
### Linked authorization failed error
29
+
30
+
If your deployment fails with the `"code":"LinkedAuthorizationFailed"` error, it means that you don't have **Microsoft.Authorization/roleAssignments/write** permissions on the resource group that contains your cluster.
31
+
32
+
To resolve this issue, either request the required permissions or make the following adjustments to your deployment steps:
33
+
34
+
* If deploying with an Azure Resource Manager template, set the `deployResourceSyncRules` parameter to `false`.
35
+
* If deploying with the Azure CLI, include the `--disable-rsync-rules` flag with the [az iot ops init](/cli/azure/iot/ops#az-iot-ops-init) command.
36
+
28
37
## Data Processor pipeline deployment status is failed
29
38
30
39
Your Data Processor pipeline deployment status is showing as **Failed**.
0 commit comments