Azure Kubernetes 服务 (AKS) 现在为群集管理提供两个定价层:“免费层”和“标准层”。 这两个层都位于基本 SKU 中。
免费层 | 标准层 | |
---|---|---|
使用时机 | • 你想免费试用 AKS • 你不熟悉 AKS 和 Kubernetes |
• 你正在运行生产或任务关键工作负载,需要高可用性和高可靠性 • 需要有资金保障的 SLA • 自动为 AKS 自动群集选择(如果创建 AKS 自动群集) |
支持的群集类型 | • 开发群集或小规模测试环境 • 少于 10 个节点的群集 |
• 企业级或生产工作负载 • 最多包含 5,000 个节点的群集 |
定价 | • 免费群集管理 • 适用于你使用的资源的标准预付费套餐 |
• 适用于你使用的资源的标准预付费套餐 |
功能比较 | • 建议用于少于 10 个节点的群集,但最多可以支持 1,000 个节点 • 包括所有当前 AKS 功能 |
• 默认情况下,运行时间 SLA 已启用 • 更高的群集可靠性和更多资源 • 一个群集中最多可以支持 5,000 个节点 • 包括所有当前 AKS 功能 |
有关定价的详细信息,请参阅 AKS 定价详细信息。
可用性SLA服务条款
在标准层中,默认为每个群集启用运行时间 SLA 功能。 对于使用可用性区域的群集,运行时间 SLA 功能可保证 Kubernetes API 服务器终结点 99.95% 的可用性,对于不使用可用性区域的群集,可保证 99.9% 的可用性。
区域可用性
开始之前
需要 Azure CLI 2.47.0 或更高版本。 运行 az --version
即可查找当前版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
创建新的群集并选择定价层
使用 Azure CLI 在 AKS 定价层上创建新群集。 可以在现有资源组中创建群集或创建新资源组。 要了解有关资源组及其使用方法的详细信息,请参阅使用 Azure CLI 管理资源组。
使用 az aks create
命令创建 AKS 群集。 以下命令演示了如何在免费标准层中创建新群集。
下面,我们为资源组、群集名称和区域设置所需的环境变量。 我们为资源名称生成唯一的后缀,以避免多次运行时发生冲突。
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="chinanorth3"
export RESOURCE_GROUP="aks-rg-$RANDOM_SUFFIX"
export CLUSTER_NAME="aks-cluster-$RANDOM_SUFFIX"
az group create --name $RESOURCE_GROUP --location $REGION
结果:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/aks-rg-xxx",
"location": "chinanorth3",
"managedBy": null,
"name": "aks-rg-xxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
在免费层中创建新的 AKS 群集
# Create a new AKS cluster in the Free tier
az aks create \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--tier free \
--generate-ssh-keys
结果:
{
...
"sku": {
"name": "Base",
"tier": "Free"
},
...
}
在标准层中创建新的 AKS 群集
# Create a new AKS cluster in the Standard tier
az aks create \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--tier standard \
--generate-ssh-keys
结果:
{
...
"sku": {
"name": "Base",
"tier": "Standard"
},
...
}
在高级层中创建新的 AKS 群集
应同时启用/禁用 LongTermSupport 和高级层。
# Create a new AKS cluster in the Premium tier
# LongTermSupport and Premium tier should be enabled/disabled together
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",
...
}
部署完成后,它会返回有关群集的 JSON 格式的信息:
# Sample output for --tier free
},
"sku": {
"name": "Base",
"tier": "Free"
},
# Sample output for --tier standard
},
"sku": {
"name": "Base",
"tier": "Standard"
},
# Sample output for --tier premium
"sku": {
"name": "Base",
"tier": "Premium"
},
"supportPlan": "AKSLongTermSupport",
更新现有 AKS 群集的级别
以下示例使用 az aks update
命令更新现有群集。
将现有群集从标准层更新为免费层
# Update an existing cluster from the Standard tier to the Free tier
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier free
结果:
{
...
"sku": {
"name": "Base",
"tier": "Free"
},
...
}
将现有群集从免费层更新为标准层
# Update an existing cluster from the Free tier to the Standard tier
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier standard
结果:
{
...
"sku": {
"name": "Base",
"tier": "Standard"
},
...
}
从高级层更新现有群集以及将现有群集更新到高级层需要更改支持计划。
将现有群集更新到高级层
# Update an existing cluster to the Premium tier
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier premium --k8s-support-plan AKSLongTermSupport
结果:
{
...
"sku": {
"name": "Base",
"tier": "Premium"
},
"supportPlan": "AKSLongTermSupport",
...
}
将现有群集从高级层更新为免费层或标准层
# Update an existing cluster to from Premium tier to Free or Standard tier
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier free --k8s-support-plan KubernetesOfficial
# or
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --tier standard --k8s-support-plan KubernetesOfficial
结果:
{
...
"sku": {
"name": "Base",
"tier": "Free" # or "Standard"
},
"supportPlan": "KubernetesOfficial",
...
}
完成此过程需要几分钟时间。 在更新群集层时,不应遇到任何停机。 完成后,以下示例 JSON 代码片段演示了如何将现有群集更新到基本 SKU 中的标准层。
},
"sku": {
"name": "Base",
"tier": "Standard"
},