Deployment details

Important

Azure IoT Operations Preview – enabled by Azure Arc is currently in preview. You shouldn't use this preview software in production environments.

You'll need to deploy a new Azure IoT Operations installation when a generally available release becomes available. You won't be able to upgrade a preview installation.

For legal terms that apply to Azure features that are in beta, in preview, or otherwise not yet released into general availability, see the Supplemental Terms of Use for Microsoft Azure Previews.

Supported environments

Microsoft supports Azure Kubernetes Service (AKS) Edge Essentials for deployments on Windows and K3s for deployments on Ubuntu.

  • Minimum hardware requirements:

    • 16-GB RAM
    • 4 vCPUs
  • Recommended hardware, especially for multi-node K3s clusters that enable fault tolerance:

    • 32-GB RAM
    • 8 vCPUs

Currently, Microsoft validates Azure IoT Operations against the following fixed-set of infrastructures and environments:

Environment Version
AKS-EE on Windows 11 IoT Enterprise
on a Lenovo ThinkStation P3 Tiny machine (16 core, 32-GB RAM) with single-node cluster
AksEdge-K3s-1.29.6-1.8.202.0
K3S on Ubuntu 24.04
on a Lenovo ThinkStation P3 Tiny machine (16 core, 32-GB RAM) with a three-node cluster
K3s version 1.31.1

Azure IoT Operations doesn't support Arm64 architectures.

Choose your features

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.

Test settings deployment

A deployment with only test settings:

  • Doesn't configure secrets or user-assigned managed identity capabilities.
  • Is meant to enable the end-to-end quickstart sample for evaluation purposes, so supports the OPC PLC simulator and connects to cloud resources using system-assigned managed identity.
  • Can be upgraded to use secure settings.

The quickstart scenario, Quickstart: Run Azure IoT Operations Preview in GitHub Codespaces, uses test settings.

At any point, you can upgrade an Azure IoT Operations instance to use secure settings by following the steps in Enable secure settings.

Secure settings deployment

A deployment with secure settings:

  • Enables secrets and user-assignment managed identity, both of which are important capabilities for developing a production-ready scenario. Secrets are used whenever Azure IoT Operations components connect to a resource outside of the cluster; for example, an OPC UA server or a dataflow endpoint.

To deploy Azure IoT Operations with secure settings, follow these articles:

  1. Start with Prepare your Azure Arc-enabled Kubernetes cluster to configure and Arc-enable your cluster.
  2. Then, Deploy Azure IoT Operations Preview.

Required permissions

The following table describes Azure IoT Operations deployment and management tasks that require elevated permissions. For information about assigning roles to users, see Steps to assign an Azure role.

Task Required permission Comments
Deploy Azure IoT Operations Contributor role at the subscription level.
Register resource providers Contributor role at the subscription level. Only required to do once per subscription.
Create a schema registry. Microsoft.Authorization/roleAssignments/write permissions at the resource group level.
Create secrets in Key Vault Key Vault Secrets Officer role at the resource level. Only required for secure settings deployment.
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 as part of the az iot ops create command.

If you use the Azure CLI to assign roles, use the 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

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.

Screenshot that shows assigning users highly privileged role access in the Azure portal.

Included components

Azure IoT Operations is a suite of data services that run on Azure Arc-enabled edge Kubernetes clusters. It also depends on a set of support services that are also installed as part of a deployment.

Organize instances by using sites

Azure IoT Operations supports Azure Arc sites for organizing instances. A site is a cluster resource in Azure like a resource group, but sites typically group instances by physical location and make it easier for OT users to locate and manage assets. An IT administrator creates sites and scopes them to a subscription or resource group. Then, any Azure IoT Operations deployed to an Arc-enabled cluster is automatically collected in the site associated with its subscription or resource group

For more information, see What is Azure Arc site manager (preview)?

Domain allowlist for Azure IoT Operations

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.

Additionally, review the Azure Arc-enabled Kubernetes endpoints.

nw-umwatson.events.data.microsoft.com 
dc.services.visualstudio.com 
github.com 
self.events.data.microsoft.com 
mirror.enzu.com 
ppa.launchpadcontent.net 
msit-onelake.pbidedicated.windows.net 
gcr.io 
adhs.events.data.microsoft.com 
gbl.his.arc.azure.cn 
onegetcdn.azureedge.net 
graph.windows.net 
pas.windows.net 
agentserviceapi.guestconfiguration.azure.com 
aka.ms 
api.segment.io 
download.microsoft.com 
raw.githubusercontent.com 
go.microsoft.com 
global.metrics.azure.eaglex.ic.gov 
gbl.his.arc.azure.us 
packages.microsoft.com 
global.metrics.azure.microsoft.scloud 
www.powershellgallery.com
k8s.io 
guestconfiguration.azure.com 
ods.opinsights.azure.com 
vault.azure.net 
googleapis.com 
quay.io 
handler.control.monitor.azure.com 
pkg.dev 
docker.io 
prod.hot.ingestion.msftcloudes.com 
docker.com 
prod.microsoftmetrics.com 
oms.opinsights.azure.com 
azureedge.net 
monitoring.azure.com
blob.core.windows.net 
azurecr.io

Next steps

Prepare your Azure Arc-enabled Kubernetes cluster to configure and Arc-enable a cluster for Azure IoT Operations.