使用 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 群集
使用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",
...
}