Skip to content

Commit c14a0e8

Browse files
authored
Merge pull request #17444 from parameshbabu/main
Updating AKS EE AIO directions
2 parents 8534e0c + b8f0da8 commit c14a0e8

File tree

1 file changed

+37
-36
lines changed

1 file changed

+37
-36
lines changed

AKS-Arc/aks-edge-howto-deploy-azure-iot.md

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ description: Learn how to run the quickstart script that creates an Arc-enabled
44
author: rcheeran
55
ms.author: rcheeran
66
ms.topic: how-to
7-
ms.date: 01/13/2025
7+
ms.date: 03/24/2025
88
ms.custom: template-how-to
99
---
1010

1111
# Create and configure an AKS Edge Essentials cluster that can run Azure IoT Operations
1212

13-
Azure Kubernetes Service (AKS) Edge Essentials is one of the supported cluster platforms for [Azure IoT Operations](/azure/iot-operations/overview-iot-operations). 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 configurations for Azure IoT Operations and then connects that cluster to Azure Arc.
13+
Azure Kubernetes Service (AKS) Edge Essentials is one of the supported cluster platforms for [Azure IoT Operations](/azure/iot-operations/overview-iot-operations). 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 configurations for Azure IoT Operations and then connects that cluster to Azure Arc.
1414

1515
> [!NOTE]
1616
> Azure IoT Operations supports AKS Edge Essentials when deployed on k3s single machine clusters only. K8s clusters are not supported for AIO and deploying clusters on multiple machines is an experimental feature.
@@ -58,61 +58,62 @@ To run the quickstart script, perform the following steps:
5858
1. Run the following commands:
5959

6060
```powershell
61-
$url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1"
62-
Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1
61+
$giturl = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools"
62+
$url = "$giturl/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1"
63+
Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1 -UseBasicParsing
64+
Invoke-WebRequest -Uri "$giturl/aio-aide-userconfig.json" -OutFile .\aio-aide-userconfig.json -UseBasicParsing
65+
Invoke-WebRequest -Uri "$giturl/aio-aksedge-config.json" -OutFile .\aio-aksedge-config.json -UseBasicParsing
6366
Unblock-File .\AksEdgeQuickStartForAio.ps1
6467
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
6568
```
6669

67-
1. [Optional] [Azure Arc gateway (preview)](/azure/azure-arc/servers/arc-gateway?tabs=portal) lets you onboard infrastructure to Azure Arc using only 7 endpoints. To use Azure Arc Gateway with Azure IoT Operations on AKS Edge Essentials:
70+
1. Add the required parameter values in the **aio-aide-userconfig.json** and **aio-aksedge-config.json** files:
6871

69-
- [Follow step 1 to create an Arc gateway resource](/azure/azure-arc/servers/arc-gateway?tabs=portal#step-1-create-an-arc-gateway-resource).
70-
- Note the [URLs listed in step 2](/azure/azure-arc/servers/arc-gateway?tabs=portal#step-2-ensure-the-required-urls-are-allowed-in-your-environment) to add to the `proxy-skip-range` in step 2.
71-
- Follow [step 3a in the Arc gateway documentation](/azure/azure-arc/servers/arc-gateway?tabs=portal#step-3a-onboard-azure-arc-resources-with-your-arc-gateway-resource) and save the gateway ID.
72-
- In **AksEdgeQuickStartForAio.ps1**, find the `$aideuserConfig` definition. Set the value of `GatewayResourceId` to the gateway ID saved from the previous step.
72+
In **aio-aide-userconfig.json**, fill in the following values:
7373

74-
1. Run the following command, and replace the placeholder values with your information:
74+
|Flag|Value |
75+
|---------|---------|
76+
|SubscriptionId | 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). |
77+
|TenantId | 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). |
78+
|ResourceGroupName | The name of an existing resource group or a name for a new resource group to be created. Only one Azure IoT Operations instance is supported per resource group. |
79+
|Location | An Azure region close to you. For a list of the Azure IoT Operations's supported Azure regions, see [Supported regions](/azure/iot-operations/overview-iot-operations#supported-regions). |
80+
|CustomLocationOID | The object ID value that you retrieved in step 2. |
81+
|EnableWorkloadIdentity (preview) | Enabled by default. While you can opt out before deploying the cluster, you cannot enable it after cluster creation. Workload identity federation lets you configure a user-assigned managed identity or app registration in Microsoft Entra ID to trust tokens from external identity providers (IdPs) such as Kubernetes. To configure workload identity federation, [see this article](aks-edge-workload-identity.md). |
7582

76-
```powershell
77-
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
78-
```
83+
In **aio-aksedge-config.json**, add the required **ClusterName** field and other optional fields, as follows:
7984

80-
|Placeholder|Value |
85+
|Flag | Value |
8186
|---------|---------|
82-
|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). |
83-
|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). |
84-
|RESOURCE_GROUP_NAME | The name of an existing resource group or a name for a new resource group to be created. Only one Azure IoT Operations instance is supported per resource group. |
85-
|LOCATION | An Azure region close to you. For the list of Azure IoT Operations's supported Azure regions, see [Supported regions](/azure/iot-operations/overview-iot-operations#supported-regions). |
86-
|CLUSTER_NAME | A name for the new cluster to be created. |
87-
|ARC_APP_OBJECT_ID | The object ID value that you retrieved in step 2. |
87+
| ClusterName | A name for the new cluster to be created. |
88+
| `Proxy-Https` | Provide the proxy value: `https://<proxy-server-ip-address>:<port>`. |
89+
| `Proxy-Http` | Provide the proxy value: `http://<proxy-server-ip-address>:<port>`. |
90+
| `Proxy-No` | Provide the proxy skip range: `<excludedIP>`,`<excludedCIDR>`. If the `http(s)_proxy` is provided, then `No` should also be updated to `localhost,127.0.0.0/8,192.168.0.0/16,172.17.0.0/16,10.42.0.0/16,10.43.0.0/16,10.96.0.0/12,10.244.0.0/16,.svc,169.254.169.254`. |
8891

89-
There are other optional flags that you can include when you run **AksEdgeQuickStartForAio.ps1**. The optional flags are as follows:
92+
> [!IMPORTANT]
93+
> Preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. AKS Edge Essentials previews are partially covered by customer support on a best-effort basis.
9094
91-
|Optional flags|Value |
92-
|---------|---------|
93-
| `enableWorkloadIdentity` (preview) | Enabled by default. While you can opt out before deploying the cluster, you cannot enable it after cluster creation. Workload identity federation lets you configure a user-assigned managed identity or app registration in Microsoft Entra ID to trust tokens from external identity providers (IdPs) such as Kubernetes. To configure workload identity federation, [see this article](aks-edge-workload-identity.md). |
94-
| `proxy-https` | Provide the proxy value: `https://<proxy-server-ip-address>:<port>`. |
95-
| `proxy-http` | Provide the proxy value: `http://<proxy-server-ip-address>:<port>`. |
96-
| `proxy-skip-range` | Provide the proxy skip range: `<excludedIP>`,`<excludedCIDR>`. If the `http(s)_proxy` is provided, then `no_proxy` should also be updated to `localhost,127.0.0.0/8,192.168.0.0/16,172.17.0.0/16,10.42.0.0/16,10.43.0.0/16,10.96.0.0/12,10.244.0.0/16,.svc,169.254.169.254`. |
95+
1. [Optional] [Azure Arc gateway (preview)](/azure/azure-arc/servers/arc-gateway?tabs=portal) lets you onboard infrastructure to Azure Arc using only 7 endpoints. To use Azure Arc Gateway with Azure IoT Operations on AKS Edge Essentials:
9796

98-
You can add these flags as shown in the following example:
97+
- [Follow step 1 to create an Arc gateway resource](/azure/azure-arc/servers/arc-gateway?tabs=portal#step-1-create-an-arc-gateway-resource).
98+
- Note [the URLs listed in step 2](/azure/azure-arc/servers/arc-gateway?tabs=portal#step-2-ensure-the-required-urls-are-allowed-in-your-environment) to add to the `proxy-no` in **aio-aksedge-config.json**.
99+
- Follow [step 3a in the Arc gateway documentation](/azure/azure-arc/servers/arc-gateway?tabs=portal#step-3a-onboard-azure-arc-resources-with-your-arc-gateway-resource) and save the gateway ID.
100+
- In **aio-aide-userconfig.json**, set the value of `GatewayResourceId` to the gateway ID saved from the previous step.
99101

100-
```powershell
101-
.\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>" -Location "<LOCATION>" -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>" --enableWorkloadIdentity:false
102-
```
102+
1. Run the following command:
103103

104-
> [!IMPORTANT]
105-
> Preview features are available on a self-service, opt-in basis. Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. AKS Edge Essentials previews are partially covered by customer support on a best-effort basis.
104+
```powershell
105+
.\AksEdgeQuickStartForAio.ps1 -aideUserConfigfile .\aio-aide-userconfig.json -aksedgeConfigFile .\aio-aksedge-config.json
106+
```
106107

107108
If there are issues during deployment; for example, if your machine reboots as part of this process, run the set of commands again.
108-
109+
109110
Run the following commands to check that the deployment was successful:
110-
111+
111112
```powershell
112113
Import-Module AksEdge
113114
Get-AksEdgeDeploymentInfo
114115
```
115-
116+
116117
In the output of the `Get-AksEdgeDeploymentInfo` command, you should see that the cluster's Arc status is **Connected**.
117118

118119
## Verify your cluster

0 commit comments

Comments
 (0)