你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何在扩展区域中创建已启用 Arc 的 AKS 群集,这有助于通过 Arc 部署 PaaS 服务。请参阅 什么是 Azure 扩展区域? | 当前支持的 PaaS 工作负荷的服务。
先决条件
- 具有活动订阅的 Azure 帐户。
- 对扩展区域的访问权限。 有关详细信息,请参阅 请求访问 Azure 扩展区域。
- 安装 Azure CLI。
- 访问公共或专用容器注册表,例如 Azure 容器注册表。
入门指南
如果你已经熟悉了主题,则可以跳过此段落。 下面是在继续创建之前可能需要阅读的重要主题:
- 公共预览的要求和限制。 群集要求尤为重要。
- 已启用 Azure Arc 的数据服务的概述
- 连接模式和要求
- 存储配置和 Kubernetes 存储概念
- Kubernetes 资源模型
设置
安装以下 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
在扩展区域中创建已启用 Arc 的 AKS 群集
在继续在扩展区域中部署 PaaS 工作负荷之前,必须在目标扩展区域中创建已启用 Arc 的 AKS 群集。 以下脚本有助于执行此作并简化支持的 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"
清理资源
不再需要时,请使用 az group delete 命令删除 my-aks-cluster 资源组及其包含的所有资源。
az group delete --name my-aks-cluster