Azure Kubernetes 服务 (AKS)的群集管理定价层

使用 AKS 定价层管理 Azure Kubernetes 服务 (AKS) 群集。 本文介绍这些层之间的差异、何时使用每个层,以及如何使用 Azure CLI 创建或更新 AKS 群集。

关于 AKS 定价层

AKS 提供三个定价层用于群集管理:

  • 免费
  • 标准
  • 高级

SKU 和层级之间的关系:

  • 基本 SKU 群集可以使用三个定价层中的任何一个:免费、标准层或高级层。

AKS 定价层比较

下表比较了 AKS 群集管理的免费、标准和高级定价层:

何时使用 支持的群集类型 Pricing 功能对比
免费 开发和测试环境、学习、评估和非生产工作负荷。 开发群集或小规模测试环境。 对于节点少于 10 的群集,建议使用。 免费群集管理。 按已使用的资源付费。 包括所有当前的 AKS 功能。 最多支持 1,000 个节点。 不提供含赔偿保障的正常运行时间 SLA。
标准 需要正常运行时间 SLA 保障的生产工作负载。 企业工作负荷。 自动 SKU 群集的默认和预配置层。 具有最多 5,000 个节点的企业级或生产工作负荷。 按已使用的资源付费。 请参阅 标准层定价详细信息 默认情况下已启用运行时间 SLA。 更高的可靠性。 包括所有当前的 AKS 功能。 最多支持 5,000 个节点。
高级 需要正常运行时间 SLA 且要求 Kubernetes 版本提供 24 个月长期支持(LTS)的生产工作负载。 需要较长维护窗口的受监管环境。 具有最多 5,000 个节点的企业级或生产工作负荷。 按已使用的资源付费。 请参阅 高级层定价详细信息 包括当前所有 AKS 功能,以及社区支持之外的 Microsoft 维护支持

可用性SLA服务条款

标准层和高级层默认包含正常运行时间 SLA:

  • 使用可用性区域:Kubernetes API 服务器的 99.95% 可用性
  • 没有可用性区域:99.9% Kubernetes API 服务器的可用性
  • 免费套餐:尽力保证正常运行时间(无经济赔偿保障的 SLA)

有关详细信息,请参阅 AKS SLA

区域可用性

下表概述了按区域列出的 AKS 定价层可用性:

区域类型 可用定价层
Azure支持 AKS 的中国云区域。
支持 AKS 的所有公共区域中的专用 AKS 群集 免费、标准、高级

先决条件

  • Azure CLI 2.47.0 或更高版本。 若要检查当前版本,请运行 az --version。 若要安装或升级,请参阅安装 Azure CLI
  • 一个现有的资源组,或创建资源组的权限。 若要了解详细信息,请参阅使用Azure CLI管理资源组

创建资源组

使用 az group create 命令创建资源组。

# Set environment variables
export REGION=<your-region>
export RESOURCE_GROUP=<your-resource-group-name>

# Create the resource group
az group create --name $RESOURCE_GROUP --location $REGION

示例输出:

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/"<your-resource-group-name>",
  "location": "<your-region>",
  "managedBy": null,
  "name": "<your-resource-group-name>",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

在免费层中创建 AKS 群集

在免费层中,使用az aks create命令,参数设置为--tier,来创建 AKS 群集free

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Create the AKS cluster
az aks create \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --tier free \
    --generate-ssh-keys

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Free"
  },
  ...
}

在标准层中创建 AKS 群集

使用 az aks create 命令并将参数设置为 --tier,在标准层创建一个 AKS 群集。

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Create the AKS cluster
az aks create \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --tier standard \
    --generate-ssh-keys

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Standard"
  },
  ...
}

在高级层中创建 AKS 群集

重要

在高级层级中创建群集时,还必须通过将 参数设置为 --k8s-support-plan 来启用 AKSLongTermSupport。 一并启用或禁用 LTS 和高级套餐。

使用az aks create命令在高级层中创建 AKS 群集,--tier 参数设置为 premium--k8s-support-plan 参数设置为 AKSLongTermSupport

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Create the AKS cluster
az aks create \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --tier premium \
    --k8s-support-plan AKSLongTermSupport \
    --generate-ssh-keys

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Premium"
  },
  "supportPlan": "AKSLongTermSupport",
  ...
}

将现有群集从标准层更新为免费层

使用az aks update命令,并将--tier参数设置为free,将现有群集从标准层更新为免费层。

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Update the AKS cluster
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier free

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Free"
  },
  ...
}

将现有群集从免费层更新为标准层

使用命令az aks update和参数--tier设置为standard,将现有群集从免费层更新为标准层。

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Update the AKS cluster
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier standard

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Standard"
  },
  ...
}

将现有群集更新到高级层或从高级层更新

重要

将现有群集更新到高级层或从高级层更新 需要更改支持计划。

将现有群集更新到高级层

使用az aks update命令,将参数--tier设置为premium,并将参数--k8s-support-plan设置为AKSLongTermSupport,将现有群集更新到高级层。

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Update the AKS cluster
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier premium --k8s-support-plan AKSLongTermSupport

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Premium"
  },
  "supportPlan": "AKSLongTermSupport",
  ...
}

将现有群集从高级层更新为免费层或标准层

若要将现有群集从高级层更新为免费层或标准层,请使用 az aks update 该命令。 将 --tier 参数 free 设置为或 standard--k8s-support-plan 参数设置为 KubernetesOfficial。 以下示例演示如何更新到免费层。

# Set environment variables
export RESOURCE_GROUP=<your-resource-group-name>
export CLUSTER_NAME=<your-aks-cluster-name>

# Update the AKS cluster
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier free --k8s-support-plan KubernetesOfficial

示例输出:

{
  ...
  "sku": {
    "name": "Base",
    "tier": "Free"
  },
  "supportPlan": "KubernetesOfficial",
  ...
}