Compartir a través de


Creación de un clúster de AKS habilitado para Arc en una zona extendida

En este artículo, aprenderá a crear un clúster de AKS habilitado para Arc en una zona extendida, lo que le ayuda a implementar servicios PaaS a través de Arc. Consulte ¿Qué es Azure Extended Zones? | Servicios para cargas de trabajo de PaaS admitidas actualmente.

Prerrequisitos

Cómo empezar

Si ya está familiarizado con el asunto, puede omitir este párrafo. Estos son los temas importantes que puede leer antes de continuar con la creación:

Configuración

Instale las siguientes extensiones de la CLI de Azure.

az extension add --name connectedk8s  --upgrade --yes
az extension add --name k8s-extension --upgrade --yes
az extension add --name customlocation --upgrade --yes

Registre los espacios de nombres necesarios.

az provider register --namespace Microsoft.ExtendedLocation --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
az provider register --namespace Microsoft.App --wait
az provider register --namespace Microsoft.OperationalInsights --wait

Creación de un clúster de AKS habilitado para Arc en zonas extendidas

Antes de continuar con la implementación de cargas de trabajo de PaaS en Zonas extendidas, se debe crear un clúster de AKS habilitado para Arc en la zona extendida de destino. El siguiente script ayuda a hacerlo y a facilitar la implementación de servicios PaaS compatibles (consulte el contenido relacionado al final de este artículo para obtener más información sobre ellos).

Nota:

Asegúrese de mantener los parámetros coherentes y transferirlos correctamente de este script a los siguientes.

# Create an Arc-enabled AKS cluster on an edge zone
function createArcEnabledAksOnEz {
    param(
        [string] $SubscriptionId,
        [string] $AKSClusterResourceGroupName,
        [string] $location = "westus",
        [string] $AKSName,
        [string] $edgeZone,
        [int] $nodeCount = 2,
        [string] $vmSize = "standard_nv12ads_a10_v5",
        [string] $ArcResourceGroupName,
        [switch] $Debug
    )
    # Set the subscription
    az account set --subscription $SubscriptionId
    
    # Login to Azure
    az provider register --namespace Microsoft.AzureArcData
    
    # Create new resource group
    az group create --name $AKSClusterResourceGroupName --location $location

    # Create new cluster and deploy in edge zone
    Write-Output "Creating AKS cluster in edge zone..." 
    az aks create -g $AKSClusterResourceGroupName -n $AKSName --location $location --edge-zone $edgeZone --node-count $nodeCount -s $vmSize --generate-ssh-keys 
    
    # Create new resource group for Arc
    az group create --name $ArcResourceGroupName --location eastus

    # Download cluster credentials and get AKS cluster context
    az aks get-credentials --resource-group $AKSClusterResourceGroupName --name $AKSName --overwrite-existing

    # Connect the AKS cluster to Arc
    $CLUSTER_NAME = "$ArcResourceGroupName-cluster" # Name of the connected cluster resource
    Write-Output "Connecting AKS cluster to Azure Arc..."
    az connectedk8s connect --resource-group $ArcResourceGroupName --name $CLUSTER_NAME

    # DEBUG: Test connection to Arc
    if ($Debug) {
        Write-Debug az connectedk8s show --resource-group $ArcResourceGroupName --name $CLUSTER_NAME
    }
}


createArcEnabledAksOnEz -SubscriptionId "ffc37441-49e9-4291-a520-0b2d4972bb99" `
                        -AKSClusterResourceGroupName "t1" `
                        -location "westus" `
                        -AKSName "my-aks-cluster" `
                        -edgeZone "losangeles" `
                        -nodeCount 2 `
                        -vmSize "standard_nv12ads_a10_v5" `
                        -ArcResourceGroupName "t2"

Limpieza de recursos

Cuando ya no sea necesario, elimine el grupo de recursos my-aks-cluster y todos los recursos que contiene mediante el comando az group delete .

az group delete --name my-aks-cluster