使用 AKS 定价层管理 Azure Kubernetes 服务 (AKS) 群集。 本文介绍这些层之间的差异、何时使用每个层,以及如何使用 Azure CLI 创建或更新 AKS 群集。
关于 AKS 定价层
AKS 提供三个定价层用于群集管理: 免费层、 标准层和 高级层。
AKS 定价层比较
下表比较了 AKS 群集管理的免费、标准和高级定价层:
| 层 | 何时使用 | 支持的群集类型 | Pricing | 功能对比 |
|---|---|---|---|---|
| 免费 | • 开发/测试环境。 • 学习和评估方案。 • 非生产工作负荷。 |
• 开发群集或小规模测试环境。 • 节点少于 10 的群集。 |
• 免费群集管理。 • 您使用的资源的标准预付费优惠。 |
• 对于少于 10 个节点的群集,建议最多支持 1,000 个节点。 • 包括所有当前的 AKS 功能。 |
| 标准 | • 需要 API 服务器 99.9-99.95% 运行时间的生产工作负载。 • 需要财务服务级别协议(SLA)覆盖范围的工作负荷。 |
• 自动化 SKU 群集的默认级别。 • 企业级或生产工作负荷。 • 最多包含 5,000 个节点的群集。 |
• 您使用的资源的标准预付款方案。 • 标准层群集管理定价详细信息。 |
• 默认情况下启用运行时间 SLA。 • 提高群集可靠性。 • 支持群集中最多 5,000 个节点。 • 包括所有当前的 AKS 功能。 |
| 高级 | • 需要 API 服务器 99.9-99.95% 运行时间的生产工作负载。 • 需要 24 个月的 长期支持 (LTS) Kubernetes 版本支持的工作负载。 • 需要扩展维护的受监管环境。 |
• 企业级或生产工作负荷。 • 最多包含 5,000 个节点的群集。 |
• 使用的资源的标准预付费套餐。 • 高级层群集管理定价详细信息。 |
• 包括所有当前的 AKS 功能。 • Microsoft维护过去的社区支持。 |
可用性SLA服务条款
标准层和高级层默认包括正常运行时间服务级别协议:
- 使用可用性区域:Kubernetes API 服务器的 99.95% 可用性
- 没有可用性区域:99.9% Kubernetes API 服务器的可用性
- 免费层:尽力保证运行时间(无 SLA 保证)
有关详细信息,请参阅 SLA。
区域可用性
下表概述了按区域列出的 AKS 定价层的可用性:
| 区域类型 | 可用定价层 |
|---|---|
| 支持 AKS 的公共区域和 Azure 中国云区域。 | |
| 支持 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", ... }