Skip to content

Commit 574edd3

Browse files
author
Jill Grant
authored
Merge pull request #286997 from kgremban/m2-deployqs
M2 changes for quickstart deploy
2 parents c4b9f96 + bc807bb commit 574edd3

File tree

4 files changed

+61
-38
lines changed

4 files changed

+61
-38
lines changed
77.6 KB
Loading

articles/iot-operations/get-started-end-to-end-sample/quickstart-deploy.md

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ In this quickstart, you deploy a suite of IoT services to an Azure Arc-enabled K
1919
The services deployed in this quickstart include:
2020

2121
* [MQTT broker](../manage-mqtt-broker/overview-iot-mq.md)
22-
* [Connector for OPC UA](../discover-manage-assets/overview-opcua-broker.md) with simulated thermostat asset to start generating data
23-
* [Azure Device Registry Preview](../discover-manage-assets/overview-manage-assets.md#store-assets-as-azure-resources-in-a-centralized-registry)
22+
* [Connector for OPC UA](../discover-manage-assets/overview-opcua-broker.md)
23+
* [Azure Device Registry Preview](../discover-manage-assets/overview-manage-assets.md#store-assets-as-azure-resources-in-a-centralized-registry) including a schema registry
2424
* [Observability](../configure-observability-monitoring/howto-configure-observability.md)
2525

26-
The following quickstarts in this series build on this one to define sample assets, data processing pipelines, and visualizations. If you want to deploy Azure IoT Operations to a cluster such as AKS Edge Essentials in order to run your own workloads, see [Prepare your Azure Arc-enabled Kubernetes cluster](../deploy-iot-ops/howto-prepare-cluster.md?tabs=aks-edge-essentials) and [Deploy Azure IoT Operations Preview to an Arc-enabled Kubernetes cluster](../deploy-iot-ops/howto-deploy-iot-operations.md).
26+
The rest of the quickstarts in this end-to-end series build on this one to define sample assets, data processing pipelines, and visualizations. If you want to deploy Azure IoT Operations to a cluster such as AKS Edge Essentials in order to run your own workloads, see [Prepare your Azure Arc-enabled Kubernetes cluster](../deploy-iot-ops/howto-prepare-cluster.md?tabs=aks-edge-essentials) and [Deploy Azure IoT Operations Preview to an Arc-enabled Kubernetes cluster](../deploy-iot-ops/howto-deploy-iot-operations.md).
2727

2828
## Before you begin
2929

@@ -35,7 +35,7 @@ For the best new user experience, we recommend using an [Azure free account](htt
3535

3636
For this quickstart, you create a Kubernetes cluster to receive the Azure IoT Operations deployment.
3737

38-
If you want to rerun this quickstart with a cluster that already has Azure IoT Operations deployed to it, refer to the steps in [Clean up resources](#clean-up-resources) to uninstall Azure IoT Operations before continuing.
38+
If you want to reuse a cluster that already has Azure IoT Operations deployed to it, refer to the steps in [Clean up resources](#clean-up-resources) to uninstall Azure IoT Operations before continuing.
3939

4040
Before you begin, prepare the following prerequisites:
4141

@@ -77,51 +77,78 @@ az iot ops verify-host
7777

7878
This helper command checks connectivity to Azure Resource Manager and Microsoft Container Registry endpoints.
7979

80-
## Deploy Azure IoT Operations Preview
80+
## Create a storage account and schema registry
8181

82-
In this section, you use the [az iot ops init](/cli/azure/iot/ops#az-iot-ops-init) command to configure your cluster so that it can communicate securely with your Azure IoT Operations components and key vault, then deploy Azure IoT Operations.
82+
Azure IoT Operations requires a schema registry on your cluster. Schema registry requires an Azure storage account so that it can synchronize schema information between cloud and edge.
8383

8484
Run the following CLI commands in your Codespaces terminal.
8585

86-
1. Create a key vault. For this scenario, use the same name and resource group as your cluster. Keyvault names have a maximum length of 24 characters, so the following command truncates the `CLUSTER_NAME`environment variable if necessary.
86+
1. Set environment variables for the resources you create in this section.
87+
88+
| Placeholder | Value |
89+
| ----------- | ----- |
90+
| <STORAGE_ACCOUNT_NAME> | A name for your storage account. Storage account names must be between 3 and 24 characters in length and only contain numbers and lowercase letters. |
91+
| <SCHEMA_REGISTRY_NAME> | A name for your schema registry. |
92+
| <SCHEMA_REGISTRY_NAMESPACE> | A name for your schema registry namespace. The namespace uniquely identifies a schema registry within a tenant. |
93+
94+
```azurecli
95+
export STORAGE_ACCOUNT=<STORAGE_ACCOUNT_NAME>
96+
export SCHEMA_REGISTRY=<SCHEMA_REGISTRY_NAME>
97+
export SCHEMA_REGISTRY_NAMESPACE=<SCHEMA_REGISTRY_NAMESPACE>
98+
```
99+
100+
1. Create a storage account with hierarchical namespace enabled.
101+
102+
```azurecli
103+
az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --enable-hierarchical-namespace
104+
```
105+
106+
1. Create a schema registry that connects to your storage account. This command also creates a blob container called **schemas** in the storage account if one doesn't exist already.
87107

88108
```azurecli
89-
az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
109+
az iot ops schema registry create --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP --registry-namespace $SCHEMA_REGISTRY_NAMESPACE --sa-resource-id $(az storage account show --name $STORAGE_ACCOUNT -o tsv --query id)
90110
```
91111

112+
## Deploy Azure IoT Operations Preview
113+
114+
In this section, you use the [az iot ops init](/cli/azure/iot/ops#az-iot-ops-init) command to configure your cluster so that it can communicate securely with your Azure IoT Operations components and key vault, then deploy Azure IoT Operations.
115+
116+
Run the following CLI commands in your Codespaces terminal.
117+
118+
1. Initialize your cluster for Azure IoT Operations.
119+
92120
>[!TIP]
93-
> You can use an existing key vault for your secrets, but verify that the **Permission model** is set to **Vault access policy**. You can check this setting in the Azure portal in the **Access configuration** section of an existing key vault. Or use the [az keyvault show](/cli/azure/keyvault#az-keyvault-show) command to check that `enableRbacAuthorization` is false.
121+
>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.
122+
123+
```azurecli
124+
az iot ops init --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --sr-resource-id $(az iot ops schema registry show --name $SCHEMA_REGISTRY -o tsv --query id)
125+
```
94126

95127
1. Deploy Azure IoT Operations. This command takes several minutes to complete:
96128

97129
```azurecli
98-
az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
130+
az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance
99131
```
100132

101133
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.
102134

103-
>[!TIP]
104-
>If you've run `az iot ops init` before, it automatically created an app registration in Microsoft Entra ID for you. You can reuse that registration rather than creating a new one each time. To use an existing app registration, add the optional parameter `--sp-app-id <APPLICATION_CLIENT_ID>`.
105-
106135
## View resources in your cluster
107136

108-
While the deployment is in progress, you can watch the resources being applied to your cluster. You can use kubectl commands to observe changes on the cluster or, since the cluster is Arc-enabled, you can use the Azure portal.
137+
While the deployment is in progress, the CLI progress interface shows you the deployment stage that you're in. Once the deployment is complete, you can use kubectl commands to observe changes on the cluster or, since the cluster is Arc-enabled, you can use the Azure portal.
109138

110139
To view the pods on your cluster, run the following command:
111140

112141
```console
113142
kubectl get pods -n azure-iot-operations
114143
```
115144

116-
It can take several minutes for the deployment to complete. Continue running the `get pods` command to refresh your view.
117-
118145
To view your resources on the Azure portal, use the following steps:
119146

120147
1. In the [Azure portal](https://portal.azure.com), go to the resource group that contains your Azure IoT Operations instance, or search for and select **Azure IoT Operations**.
121148

122149
1. Select the name of your Azure IoT Operations instance.
123150

124-
1. On the **Overview** page of your instance, the **Arc extensions** table displays the resources that were deployed to your cluster.
151+
1. On the **Overview** page of your instance, the **Arc extensions** tab displays the resources that were deployed to your cluster.
125152

126153
:::image type="content" source="../get-started-end-to-end-sample/media/quickstart-deploy/view-instance.png" alt-text="Screenshot that shows the Azure IoT Operations instance on your Arc-enabled cluster." lightbox="../get-started-end-to-end-sample/media/quickstart-deploy/view-instance.png":::
127154

articles/iot-operations/includes/connect-cluster-codespaces.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@ To connect your cluster to Azure Arc:
2323
> * Open the codespace in VS Code desktop, and then return to the browser terminal and rerun `az login`.
2424
> * Or, after you get the localhost error on the browser, copy the URL from the browser and run `curl "<URL>"` in a new terminal tab. You should see a JSON response with the message "You have logged into Microsoft Azure!."
2525
26-
1. Set the Azure subscription context for all commands:
27-
28-
```azurecli
29-
az account set -s $SUBSCRIPTION_ID
30-
```
26+
1. After signing in, Azure CLI displays all of your subscriptions and indicates your default subscription with an asterisk `*`. To continue with your default subscription, select `Enter`. Otherwise, type the number of the Azure subscription that you want to use.
3127

3228
1. Register the required resource providers in your subscription:
3329

@@ -46,19 +42,19 @@ To connect your cluster to Azure Arc:
4642
1. Use the [az group create](/cli/azure/group#az-group-create) command to create a resource group in your Azure subscription to store all the resources:
4743

4844
```azurecli
49-
az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
45+
az group create --location $LOCATION --resource-group $RESOURCE_GROUP
5046
```
5147

5248
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:
5349

5450
```azurecli
55-
az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID --disable-auto-upgrade
51+
az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP --disable-auto-upgrade
5652
```
5753

5854
>[!TIP]
5955
>The value of `$CLUSTER_NAME` is automatically set to the name of your codespace. Replace the environment variable if you want to use a different name.
6056
61-
1. Get the `objectId` of the Microsoft Entra ID application that the Azure Arc service uses and save it as an environment variable.
57+
1. Get the `objectId` of the Microsoft Entra ID application that the Azure Arc service in your tenant uses and save it as an environment variable.
6258

6359
```azurecli
6460
export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)

articles/iot-operations/overview-iot-operations.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@ The northbound cloud connectors let you connect the MQTT broker directly to clou
8181

8282
## Process data
8383

84-
In Azure IoT operations v0.6.0, the data processor is replaced by [dataflows](./connect-to-cloud/overview-dataflow.md). Dataflows provide enhanced data transformation and data contextualization capabilities within Azure IoT Operations. Dataflows can use schemas stored in the schema registry to deserialize and serialize messages.
84+
In Azure IoT operations v0.6.0, the data processor was replaced by [dataflows](./connect-to-cloud/overview-dataflow.md). Dataflows provide enhanced data transformation and data contextualization capabilities within Azure IoT Operations. Dataflows can use schemas stored in the schema registry to deserialize and serialize messages.
8585

8686
> [!NOTE]
87-
> If you want to continue using the data processor, you must deploy Azure IoT Operations v0.5.1 with the additional flag to include data processor component. It's not possible to deploy the data processor with Azure IoT Operations v0.6.0. The Azure IoT operations CLI extension that includes the flag for deploying the data processor is version 0.5.1b1. This version requires Azure CLI v2.46.0 or greater. The data processor documentation is currently available on the previous versions site: [Azure IoT Operations data processor](/previous-versions/azure/iot-operations/process-data/overview-data-processor).
87+
> If you want to continue using the data processor, you must deploy Azure IoT Operations v0.5.1 with the additional flag to include data processor component. It's not possible to deploy the data processor with Azure IoT Operations v0.6.0 or newer. The Azure IoT operations CLI extension that includes the flag for deploying the data processor is version 0.5.1b1. This version requires Azure CLI v2.46.0 or greater. The data processor documentation is currently available on the previous versions site: [Azure IoT Operations data processor](/previous-versions/azure/iot-operations/process-data/overview-data-processor).
8888
8989
## Visualize and analyze telemetry
9090

@@ -103,17 +103,17 @@ To secure communication between devices and the cloud through isolated network e
103103

104104
## Supported regions
105105

106-
In the 0.6.x public preview release, Azure IoT Operations supports clusters that are Arc-enabled in the following regions:
107-
108-
* East US
109-
* East US 2
110-
* West US
111-
* West US 2
112-
* West Europe
113-
* North Europe
114-
115-
>[!NOTE]
116-
>West US 3 was supported in previous versions of Azure IoT Operations, but isn't supported in version 0.6.x.
106+
In the 0.7.x public preview release, Azure IoT Operations supports clusters that are Arc-enabled in the following regions:
107+
108+
| Region | CLI value |
109+
|--------------|-------------|
110+
| East US | eastus |
111+
| East US 2 | eastus2 |
112+
| West US | westus |
113+
| West US 2 | westus2 |
114+
| West US 3 | westus3 |
115+
| West Europe | westeurope |
116+
| North Europe | northeurope |
117117

118118
This list of supported regions only applies to the region that you use when connecting your cluster to Azure Arc. This list doesn't restrict you from using your preferred Azure region for your cloud resources. Azure IoT Operations components and other resources deployed to your cluster in these supported regions can still connect to cloud resources in different regions.
119119

0 commit comments

Comments
 (0)