Skip to content

Commit 989a3c2

Browse files
committed
Edits to new article, rename article
1 parent 40e777c commit 989a3c2

File tree

2 files changed

+59
-43
lines changed

2 files changed

+59
-43
lines changed

AKS-Hybrid/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@
196196
href: aks-edge-howto-setup-nested-environment.md
197197
- name: Use GitOps with AKS Edge Essentials
198198
href: aks-edge-howto-use-gitops.md
199-
- name: Deploy AIO on AKS Edge Essentials
200-
href: aks-edge-howto-deploy-AIO.md
199+
- name: Deploy Azure IoT Operations on AKS Edge Essentials
200+
href: aks-edge-howto-deploy-azure-iot.md
201201
- name: Offline installation
202202
href: aks-edge-howto-offline-install.md
203203
- name: Access TPM secrets
Lines changed: 57 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,69 @@
11
---
2-
title: AIO with AKS Edge Essentials
2+
title: Azure IoT Operations with AKS Edge Essentials
33
description: Learn how to use Azure IoT Operations with AKS Edge Essentials.
44
author: rcheeran
55
ms.author: rcheeran
66
ms.topic: how-to
7-
ms.date: 10/21/2024
7+
ms.date: 10/23/2024
88
ms.custom: template-how-to
99
---
1010

1111
# Deploy Azure IoT Operations on AKS Edge Essentials
1212

13-
[Azure IoT Operations (AIO)]() requires an Arc-enabled Kubernetes cluster. You can use AKS Edge Essentials to create a Microsoft managed Kubernetes cluster and deploy AIO as a workload on it. This article describes the steps to run a handy script that creates an AKS Edge Essentials Kubernetes clusters with all the required configurations applicable for AIO.
13+
[Azure IoT Operations](/azure/iot-operations/overview-iot-operations) requires an Arc-enabled Kubernetes cluster. You can use AKS Edge Essentials to create a Microsoft-managed Kubernetes cluster and deploy Azure IoT Operations on it, as a workload. This article describes the steps to run a script that creates an AKS Edge Essentials Kubernetes cluster with the required configuration applicable for Azure IoT Operations.
1414

1515
> [!NOTE]
16-
> AIO is Generally Available on AKS EE when deployed on single machine clusters. Deploying clusters on multiple machines is an experimental feature.
17-
18-
## Pre-requisites for running the script
19-
20-
- An Azure subscription with either the **Owner** role or a combination of **Contributor** and **User Access Administrator** roles. You can check your access level by navigating to your subscription, selecting **Access control (IAM)** on the left-hand side of the Azure portal, and then selecting **View my access**. Read the [Azure Resource Manager documentation](/azure/azure-resource-manager/management/manage-resource-groups-portal) for more information about managing resource groups. 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-
- Azure CLI version 2.64.0 or newer installed on your development machine. Use az --version to check your version and az upgrade to update if necessary.For more information, see [How to install the Azure CLI](https://review.learn.microsoft.com/en-us/cli/azure/install-azure-cli).
22-
- The latest version of the following extensions for Azure CLI:
23-
```bash
24-
az extension add --upgrade --name azure-iot-ops
25-
az extension add --upgrade --name connectedk8s
26-
```
27-
- Hardware requirements: Ensure that your machine has a minimum of 16-GB available RAM, 8 available vCPUs, and 52-GB free disk space reserved for Azure IoT Operations.
28-
- If you're going to deploy Azure IoT Operations to a multi-node cluster with fault tolerance enabled, review the hardware and storage requirements in [Prepare Linux for Edge Volumes](https://review.learn.microsoft.com/en-us/azure/azure-arc/container-storage/prepare-linux-edge-volumes).
29-
30-
31-
## Create an AKS EE cluster for AIO
32-
The [AksEdgeQuickStartForAio.ps1](https://github.com/Azure/AKS-Edge/blob/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1) script automates the process of creating and connecting a cluster, and is the recommended path for deploying Azure IoT Operations on AKS Edge Essentials. Here is what the script does on your behalf:
33-
- Downloads the latest AKS EE MSI from this [repo](https://github.com/Azure/aks-edge).
34-
- Installs AKS EE and deploys to creates a single machine Kubernetes cluster on your Windows machine.
35-
- Connects to the Azure subscription and creates a resource group if it does exists already and connects the cluster to Arc to create an Arc-enabled Kubernetes cluster.
16+
> Azure IoT Operations is generally available on AKS Edge Essentials when deployed on single machine clusters. Deploying clusters on multiple machines is an experimental feature.
17+
18+
## Prerequisites for running the script
19+
20+
To run the script, you need the following prerequisites:
21+
22+
- An Azure subscription with either the **Owner** role or a combination of **Contributor** and **User Access Administrator** roles. You can check your access level by navigating to your subscription, selecting **Access control (IAM)** on the left-hand side of the Azure portal, and then selecting **View my access**. See the [Azure Resource Manager documentation](/azure/azure-resource-manager/management/manage-resource-groups-portal) for more information about managing resource groups. If you don't have an Azure subscription, [create one for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
23+
- Azure CLI version 2.64.0 or newer installed on your development machine. Use `az --version` to check your version and `az upgrade` to update if necessary.For more information, see [How to install the Azure CLI](/cli/azure/install-azure-cli).
24+
- Install the latest version of the following extensions for Azure CLI:
25+
26+
```bash
27+
az extension add --upgrade --name azure-iot-ops
28+
az extension add --upgrade --name connectedk8s
29+
```
30+
31+
- Hardware requirements: ensure that your machine has a minimum of 16 GB available RAM, 8 available vCPUs, and 52 GB free disk space reserved for Azure IoT Operations.
32+
- If you deploy Azure IoT Operations to a multi-node cluster with fault tolerance enabled, review the hardware and storage requirements in [Prepare Linux for Edge Volumes](/azure/azure-arc/container-storage/prepare-linux-edge-volumes).
33+
34+
## Create an AKS Edge Essentials cluster for Azure IoT Operations
35+
36+
The [AksEdgeQuickStartForAio.ps1](https://github.com/Azure/AKS-Edge/blob/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1) script automates the process of creating and connecting a cluster, and is the recommended path for deploying Azure IoT Operations on AKS Edge Essentials. The script performs the following tasks:
37+
38+
- Downloads the latest [AKS Edge Essentials MSI from this repo](https://github.com/Azure/aks-edge).
39+
- Installs AKS Edge Essentials, and deploys and creates a single machine Kubernetes cluster on your Windows machine.
40+
- Connects to the Azure subscription, creates a resource group if it doesn't already exist, and connects the cluster to Arc to create an Arc-enabled Kubernetes cluster.
3641
- Enables the custom location feature on the Arc-enabled Kubernetes cluster.
3742
- Deploys the local path provisioning.
3843
- Configures firewall rules on the host Windows machine for the MQTT broker.
3944
- On the Linux VM, which serves as the Kubernetes control plane node:
40-
- Configures port proxy for the Kubernetes Service default IP range of 10.96.0.0/28.
41-
- Configures the IP table rules.
42-
- `sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT`
43-
- `sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT`
45+
- Configures the port proxy for the Kubernetes service default IP range of 10.96.0.0/28.
46+
- Configures the IP table rules:
47+
- `sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT`
48+
- `sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT`
49+
50+
Once you have downloaded the script do the following:
4451

45-
Once you have downloaded the script,
4652
1. Open an elevated PowerShell window and change the directory to a working folder.
47-
1. Get the objectId of the Microsoft Entra ID application that the Azure Arc service uses in your tenant. Run the following command exactly as written, without changing the GUID value.
48-
```azurecli
49-
az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
50-
```
53+
1. Get the `objectId` of the Microsoft Entra ID application that the Azure Arc service uses in your tenant. Run the following command exactly as written, without changing the GUID value.
54+
55+
```azurecli
56+
az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
57+
```
58+
5159
1. Run the following commands, replacing the placeholder values with your information:
5260

5361
|Placeholder|Value |
5462
|---------|---------|
55-
|SUBSCRIPTION_ID | The ID of your Azure subscription. If you don't know your subscription ID, see [Find your Azure subscription](https://review.learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id#find-your-azure-subscription). |
56-
|TENANT_ID | The ID of your Microsoft Entra tenant. If you don't know your tenant ID, see [Find your Microsoft Entra tenant](https://review.learn.microsoft.com/en-us/azure/azure-portal/get-subscription-tenant-id#find-your-microsoft-entra-tenant). |
63+
|SUBSCRIPTION_ID | The ID of your Azure subscription. If you don't know your subscription ID, see [Find your Azure subscription](/azure/azure-portal/get-subscription-tenant-id#find-your-azure-subscription). |
64+
|TENANT_ID | The ID of your Microsoft Entra tenant. If you don't know your tenant ID, see [Find your Microsoft Entra tenant](/azure/azure-portal/get-subscription-tenant-id#find-your-microsoft-entra-tenant). |
5765
|RESOURCE_GROUP_NAME | The name of an existing resource group or a name for a new resource group to be created. |
58-
|LOCATION | An Azure region close to you. For the list of currently supported Azure regions, see [Supported regions](https://review.learn.microsoft.com/en-us/azure/iot-operations/overview-iot-operations#supported-regions). |
66+
|LOCATION | An Azure region close to you. For the list of currently supported Azure regions, see [Supported regions](/azure/iot-operations/overview-iot-operations#supported-regions). |
5967
|CLUSTER_NAME | A name for the new cluster to be created. |
6068
|ARC_APP_OBJECT_ID | The object ID value that you retrieved in step 2. |
6169

@@ -66,26 +74,34 @@ Unblock-File .\AksEdgeQuickStartForAio.ps1
6674
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
6775
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
6876
```
69-
If there are any issues during deployment, including if your machine reboots as part of this process, run the whole set of commands again.
70-
1. Run the following commands to check that the deployment was successful:
77+
78+
If there are any issues during deployment, including if your machine reboots as part of this process, run the set of commands again.
79+
80+
Run the following commands to check that the deployment was successful:
81+
7182
```powershell
7283
Import-Module AksEdge
7384
Get-AksEdgeDeploymentInfo
7485
```
75-
In the output of the Get-AksEdgeDeploymentInfo command, you should see that the cluster's Arc status is Connected.
86+
87+
In the output of the `Get-AksEdgeDeploymentInfo` command, you should see that the cluster's Arc status is **Connected**.
7688

7789
## Verify your cluster
78-
To verify that your cluster is ready for Azure IoT Operations deployment, you can use the [verify-host](https://review.learn.microsoft.com/en-us/cli/azure/iot/ops#az-iot-ops-verify-host) helper command in the Azure IoT Operations extension for Azure CLI. When run on the cluster host, this helper command checks connectivity to Azure Resource Manager and Microsoft Container Registry endpoints.
90+
91+
To verify that your cluster is ready for Azure IoT Operations deployment, you can use the [verify-host](/cli/azure/iot/ops#az-iot-ops-verify-host) helper command in the Azure IoT Operations extension for Azure CLI. When you run this command on the cluster host, it checks connectivity to Azure Resource Manager and Microsoft Container Registry endpoints:
92+
7993
```azurecli
8094
az iot ops verify-host
8195
```
8296

8397
To verify that your Kubernetes cluster is Azure Arc-enabled, run the following command:
98+
8499
```bash
85100
kubectl get deployments,pods -n azure-arc
86101
```
87102

88-
The output looks like the following example:
103+
The output looks similar to the following example:
104+
89105
```output
90106
NAME READY UP-TO-DATE AVAILABLE AGE
91107
deployment.apps/clusterconnect-agent 1/1 1 1 10m
@@ -116,5 +132,5 @@ pod/metrics-agent-6588f97dc-455j8 2/2 Running 0
116132

117133
## Next steps
118134

119-
- [Deploy Azure IoT Operations](https://review.learn.microsoft.com/en-us/azure/iot-operations/deploy-iot-ops/howto-deploy-iot-operations)
135+
- [Deploy Azure IoT Operations](/azure/iot-operations/deploy-iot-ops/howto-deploy-iot-operations)
120136
- [Uninstall AKS cluster](aks-edge-howto-uninstall.md)

0 commit comments

Comments
 (0)