Создание кластера AKS с поддержкой Arc в расширенной зоне

Из этой статьи вы узнаете, как создать кластер AKS с поддержкой Arc в расширенной зоне. Этот кластер помогает развертывать службы PaaS с помощью Azure Arc. Сведения о в настоящее время поддерживаемых рабочих нагрузках PaaS см. в Службах для расширенных зон Azure.

Предпосылки

Начало работы

Если вы уже знакомы с темой, можно пропустить этот абзац. Ниже приведены важные разделы, которые вы можете прочитать, прежде чем продолжить создание:

Настройка

Установите следующие расширения Azure CLI.

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

Зарегистрируйте необходимые пространства имен.

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

Создание кластера AKS с поддержкой Arc в расширенных зонах

Перед развертыванием рабочих нагрузок PaaS в расширенных зонах создайте кластер AKS с поддержкой Arc в целевой расширенной зоне. Следующий сценарий помогает создать кластер и упростить развертывание поддерживаемых служб PaaS. Чтобы узнать больше об этих службах, см. связанные материалы в конце этой статьи.

Замечание

Не забудьте обеспечить согласованность параметров и правильно перенести их из этого скрипта в любые следующие скрипты.

# 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"

Очистите ресурсы

Если ресурсы больше не нужны, удалите группу ресурсов my-aks-cluster и все ресурсы, содержащиеся в ней, с помощью команды az group delete .

az group delete --name my-aks-cluster