|
1 | 1 | ---
|
2 |
| -title: Quickstart - Create HDInsight on AKS cluster with Azure CLI |
| 2 | +title: 'Quickstart: Create HDInsight on AKS cluster pool using Azure CLI' |
3 | 3 | description: Learn how to use Azure CLI to create an HDInsight on AKS cluster pool.
|
4 | 4 | ms.service: hdinsight-aks
|
5 | 5 | ms.topic: quickstart
|
6 |
| -ms.date: 06/04/2024 |
| 6 | +ms.date: 06/18/2024 |
7 | 7 | ---
|
8 | 8 |
|
9 |
| -# Quickstart: Create an HDInsight on AKS Cluster Pool with the Azure CLI on Azure |
| 9 | +# Quickstart: Create an HDInsight on AKS cluster pool using Azure CLI |
10 | 10 |
|
11 |
| -This quickstart shows you how to use the PowerShell to deploy an HDInsight on AKS Cluster Pool in Azure. |
| 11 | +HDInsight on AKS introduces the concept of cluster pools and clusters, which allow you to realize the complete value of data lakehouse. |
12 | 12 |
|
13 |
| -## Prerequisites |
14 |
| -Ensure that you completed the [subscription prerequisites](./quickstart-prerequisites-subscription.md) and [resource prerequisites](./quickstart-prerequisites-resources.md) before creating a cluster pool. |
| 13 | +- **Cluster pools** are a logical grouping of clusters and maintain a set of clusters in the same pool, which helps in building robust interoperability across multiple cluster types. It can be created within an existing virtual network or outside a virtual network. |
| 14 | + |
| 15 | + A cluster pool in HDInsight on AKS corresponds to one cluster in AKS infrastructure. |
| 16 | + |
| 17 | +- **Clusters** are individual compute workloads, such as Apache Spark, Apache Flink, or Trino, which can be created in the same cluster pool. |
15 | 18 |
|
16 |
| -The command New-AzHdInsightOnAksClusterPool is part of Azure PowerShell module "Az.HdInsightOnAks" and it isn't installed. Run **"Install-Module Az.HdInsightOnAks"** to install it. |
| 19 | +For every cluster type, you must have a cluster pool. It can be created independently or you can create new cluster pool during cluster creation. |
| 20 | +In this quickstart, you learn how to create a cluster pool using the Azure CLI. |
| 21 | + |
| 22 | +## Prerequisites |
| 23 | +Ensure that you completed the [subscription prerequisites](./quickstart-prerequisites-subscription.md) before creating a cluster pool. |
17 | 24 |
|
18 | 25 | ## Launch Azure Cloud Shell
|
19 | 26 |
|
20 |
| -The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. It has common Azure tools preinstalled and configured to use with your account. |
| 27 | +The Azure Cloud Shell is an interactive shell that you can use to run the steps in this article. It has common Azure tools preinstalled and configured to use with your account. |
| 28 | + |
| 29 | +- [!INCLUDE [azure-cli-prepare-your-environment-no-header.md](~/reusable-content/azure-cli/azure-cli-prepare-your-environment-no-header.md)] |
| 30 | + |
| 31 | +- This article requires Azure CLI version 2.56.0 or higher. If you're using Azure Cloud Shell, the latest version is already installed there. |
| 32 | +- If you have multiple Azure subscriptions, select the appropriate subscription ID in which the resources should be billed using the [az account set](/cli/azure/account#az-account-set) command. For more information, see [How to manage Azure subscriptions – Azure CLI](/cli/azure/manage-azure-subscriptions-azure-cli?tabs=bash#change-the-active-subscription). |
| 33 | + |
| 34 | +- You can also open Cloud Shell in a separate browser tab by going to [https://shell.azure.com/bash](https://shell.azure.com/bash). |
| 35 | + |
| 36 | +## Define environment variables |
| 37 | + |
| 38 | +The first step is to define the environment variables. Environment variables are commonly used in Linux to centralize configuration data to improve consistency and maintainability of the system. Create the following environment variables to specify the names of resources that you create later in this tutorial: |
21 | 39 |
|
22 |
| -To open the Cloud Shell, just select **Try it** from the upper right corner of a code block. Select **Copy** to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it. |
| 40 | +```bash |
| 41 | +export ResourceGroup="HDIonAKSCLI" |
| 42 | +export Region=EastUS |
| 43 | +export HDIonAKSClusterPoolName="contosopool" |
| 44 | +export NodeType="Standard_E4s_v3" |
| 45 | +export ClusterVersion="1.1" |
| 46 | +``` |
| 47 | + |
| 48 | +## Log in to Azure using the CLI |
| 49 | + |
| 50 | +In order to run commands in Azure using the CLI, you need to log in first. Log in using the `az login` command. |
23 | 51 |
|
24 | 52 | ## Create a resource group
|
25 | 53 |
|
26 |
| -Create an Azure resource group with [New-AzResourceGroup](/powershell/module/az.resources/new-azresourcegroup). A resource group is a logical container into which Azure resources are deployed and managed: |
| 54 | +A resource group is a container for related resources. All resources must be placed in a resource group. The [az group create](/cli/azure/group) command creates a resource group with the previously defined `$ResourceGroup` and `$Region` parameters. |
| 55 | + |
| 56 | +```bash |
| 57 | +az group create --name $ResourceGroup --location $Region |
| 58 | +``` |
| 59 | + |
| 60 | +Output: |
27 | 61 |
|
28 |
| -```Azure PowerShell |
29 |
| -New-AzResourceGroup -Name 'HDIonAKSPowershell' -Location 'West US 3' |
| 62 | +<!-- expected_similarity=0.3 --> |
| 63 | +```json |
| 64 | +{ |
| 65 | + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/HDIonAKSCLI", |
| 66 | + "location": "eastus", |
| 67 | + "managedBy": null, |
| 68 | + "name": "HDIonAKSCLI", |
| 69 | + "properties": { |
| 70 | + "provisioningState": "Succeeded" |
| 71 | + }, |
| 72 | + "tags": null, |
| 73 | + "type": "Microsoft.Resources/resourceGroups" |
| 74 | +} |
30 | 75 | ```
|
31 | 76 |
|
32 |
| -## Create the HDInsight on AKS Cluster Pool |
33 |
| - |
34 |
| -To create an HDInsight on AKS Cluster Pool in this resource group, use the `New-AzHdInsightOnAksClusterPool` command: |
35 |
| -```PowerShell |
36 |
| -New-AzHdInsightOnAksClusterPool |
37 |
| - -Name <String> |
38 |
| - -ResourceGroupName <String> |
39 |
| - [-SubscriptionId <String>] |
40 |
| - -Location <String> |
41 |
| - [-ClusterPoolVersion <String>] |
42 |
| - [-EnableLogAnalytics] |
43 |
| - [-LogAnalyticWorkspaceResourceId <String>] |
44 |
| - [-ManagedResourceGroupName <String>] |
45 |
| - [-NetworkProfileApiServerAuthorizedIPRange <String[]>] |
46 |
| - [-NetworkProfileEnablePrivateApiServer] |
47 |
| - [-NetworkProfileOutboundType <String>] |
48 |
| - [-SubnetId <String>] |
49 |
| - [-Tag <Hashtable>] |
50 |
| - [-VmSize <String>] |
51 |
| - [-DefaultProfile <PSObject>] |
52 |
| - [-AsJob] |
53 |
| - [-NoWait] |
54 |
| - [-WhatIf] |
55 |
| - [-Confirm] |
56 |
| - [<CommonParameters>] |
| 77 | +## Create the HDInsight on AKS cluster pool |
| 78 | + |
| 79 | +To create a HDInsight on AKS cluster pool in this resource group, use the `az hdinsight-on-aks clusterpool create` command: |
| 80 | +```bash |
| 81 | +az hdinsight-on-aks clusterpool create --cluster-pool-name |
| 82 | + --resource-group |
| 83 | + [--api-server-authorized-ip-ranges] |
| 84 | + [--cluster-pool-version] |
| 85 | + [--enable-log-analytics {0, 1, f, false, n, no, t, true, y, yes}] |
| 86 | + [--la-workspace-id] |
| 87 | + [--location] |
| 88 | + [--managed-rg-name] |
| 89 | + [--no-wait {0, 1, f, false, n, no, t, true, y, yes}] |
| 90 | + [--outbound-type {loadBalancer, userDefinedRouting}] |
| 91 | + [--private-server-enabled {0, 1, f, false, n, no, t, true, y, yes}] |
| 92 | + [--subnet-id] |
| 93 | + [--tags] |
| 94 | + [--workernode-size] |
57 | 95 | ```
|
58 | 96 | Here's an example:
|
59 |
| -```PowerShell |
60 |
| -$location = "West US 3" |
61 |
| -$clusterResourceGroupName = "HDIonAKSPowershell" |
62 |
| -$clusterpoolName = "HDIClusterPoolSample" |
63 |
| -$vmSize = "Standard_E4s_v3" |
64 |
| -$clusterpoolversion="1.1" |
65 |
| -
|
66 |
| -# Create the cluster pool |
67 |
| -New-AzHdInsightOnAksClusterPool ` |
68 |
| - -Name $clusterpoolName ` |
69 |
| - -ResourceGroupName $clusterResourceGroupName ` |
70 |
| - -Location $location ` |
71 |
| - -VmSize $vmSize ` |
72 |
| - -ClusterPoolVersion $clusterpoolversion |
| 97 | +```bash |
| 98 | +az hdinsight-on-aks clusterpool create --resource-group $ResourceGroup --cluster-pool-name $HDIonAKSClusterPoolName --location $Region --workernode-size $NodeType --cluster-pool-version $ClusterVersion |
73 | 99 | ```
|
74 | 100 |
|
75 |
| -It takes a few minutes to create the HDInsight on AKS Cluster Pool. The following example output shows the created operation was successful. |
| 101 | +It takes a few minutes to create the HDInsight on AKS cluster pool. The following example output shows the created operation was successful. |
76 | 102 |
|
77 |
| -Results: |
| 103 | +Output: |
78 | 104 | <!-- expected_similarity=0.3 -->
|
| 105 | +```json |
| 106 | +{ |
| 107 | + "aksClusterProfile": { |
| 108 | + "aksClusterAgentPoolIdentityProfile": { |
| 109 | + "msiClientId": "00000000-0000-0000-0000-XXXXXXXX1", |
| 110 | + "msiObjectId": "00000000-0000-0000-0000-XXXXXXX11", |
| 111 | + "msiResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_hdi-00000000000000000000XXXX_contosopool_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contosopool-agentpool" |
| 112 | + }, |
| 113 | + "aksClusterResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hdi-00000000000000000000XXXX/providers/Microsoft.ContainerService/managedClusters/contosopool", |
| 114 | + "aksVersion": "1.27.9" |
| 115 | + }, |
| 116 | + "aksManagedResourceGroupName": "MC_hdi-00000000000000000000XXXX_contosopool_eastus", |
| 117 | + "clusterPoolProfile": { |
| 118 | + "clusterPoolVersion": "1.1" |
| 119 | + }, |
| 120 | + "computeProfile": { |
| 121 | + "count": 3, |
| 122 | + "vmSize": "Standard_E4s_v3" |
| 123 | + }, |
| 124 | + "deploymentId": "00000000000000000000XXXX", |
| 125 | + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/HDIonAKSCLI/providers/Microsoft.HDInsight/clusterpools/contosopool", |
| 126 | + "location": "EastUS", |
| 127 | + "managedResourceGroupName": "hdi-00000000000000000000XXXX", |
| 128 | + "name": "contosopool", |
| 129 | + "provisioningState": "Succeeded", |
| 130 | + "resourceGroup": "HDIonAKSCLI", |
| 131 | + "status": "Running", |
| 132 | + "systemData": { |
| 133 | + "createdAt": "2024-05-31T15:02:42.2172295Z", |
| 134 | + |
| 135 | + "createdByType": "User", |
| 136 | + "lastModifiedAt": "2024-05-31T15:02:42.2172295Z", |
| 137 | + "lastModifiedBy": "[email protected]", |
| 138 | + "lastModifiedByType": "User" |
| 139 | + }, |
| 140 | + "type": "microsoft.hdinsight/clusterpools" |
| 141 | +} |
79 | 142 | ```
|
80 |
| -AkClusterProfileAkClusterAgentPoolIdentityProfileMsiClientId : a75ec1ff-3f7f-4f44-820c-6eaa5c8191af |
81 |
| -AkClusterProfileAkClusterAgentPoolIdentityProfileMsiObjectId : 13990b78-4140-4d10-b333-69bb78524375 |
82 |
| -AkClusterProfileAkClusterAgentPoolIdentityProfileMsiResourceId : /subscriptions/12345-abcde-12345-abcde |
83 |
| -AkClusterProfileAksClusterResourceId : /subscriptions/subscriptions/12345-abcde-12345-abcde |
84 |
| -AkClusterProfileAksVersion : 1.27.9 |
85 |
| -AksManagedResourceGroupName : MC_hdi-44640a235566423490b9fb694d6c05a3_HDIClusterPoolSample_westus3 |
86 |
| -ComputeProfileCount : 3 |
87 |
| -ComputeProfileVMSize : Standard_E4s_v3 |
88 |
| -DeploymentId : 44640a235566423490b9fb694d6c05a3 |
89 |
| -Id : /subscriptions/0b130652-e15b-417e-885a-050c9a3024a2/resourceGroups/HDIonAKSPowershell/providers/Microsoft.HDInsight/cl |
90 |
| - usterpools/HDIClusterPoolSample |
91 |
| -Location : West US 3 |
92 |
| -LogAnalyticProfileEnabled : False |
93 |
| -LogAnalyticProfileWorkspaceId : |
94 |
| -ManagedResourceGroupName : hdi-12345 |
95 |
| -Name : Contosopool |
96 |
| -NetworkProfileApiServerAuthorizedIPRange : |
97 |
| -NetworkProfileEnablePrivateApiServer : |
98 |
| -NetworkProfileOutboundType : |
99 |
| -NetworkProfileSubnetId : |
100 |
| -ProfileClusterPoolVersion : 1.1 |
101 |
| -ProvisioningState : Succeeded |
102 |
| -ResourceGroupName : HDIonAKSPowershell |
103 |
| -Status : Running |
104 |
| -SystemDataCreatedAt : 6/2/2024 11:53:01 AM |
105 |
| -SystemDataCreatedBy : [email protected] |
106 |
| -SystemDataCreatedByType : User |
107 |
| -SystemDataLastModifiedAt : 6/2/2024 11:53:01 AM |
108 |
| -SystemDataLastModifiedBy : [email protected] |
109 |
| -SystemDataLastModifiedByType : User |
110 |
| -Tag : { |
111 |
| - } |
112 |
| -Type : contoso.hdinsight/contosopools |
113 |
| -``` |
114 | 143 |
|
115 |
| -## Next steps |
| 144 | +> [!NOTE] |
| 145 | +> For more information about cluster pool CLI commands, see [commands](/cli/azure/hdinsight-on-aks/clusterpool). |
| 146 | +
|
| 147 | +## Clean up resources |
| 148 | + |
| 149 | +When no longer needed, clean up unnecessary resources to avoid Azure charges. You can remove the resource group, cluster pool, and all other resources in the resource group using the `az group delete` command. |
116 | 150 |
|
117 |
| -* [New-AzHdInsightOnAksClusterPool](/powershell/module/az.hdinsightonaks/new-azhdinsightonaksclusterpool) |
118 |
| -* [Create cluster pool and cluster](./quickstart-create-cluster.md) |
| 151 | +> [!NOTE] |
| 152 | +> To delete a cluster pool, ensure there are no active clusters in the cluster pool. |
0 commit comments