培训
模块
优化 Azure Kubernetes 服务 (AKS) 上的计算成本 - Training
了解可在 Azure 上采用哪些策略来通过使用 Azure Kubernetes 服务 (AKS) 优化云原生应用程序开发过程。
认证
Microsoft Certified: Azure Administrator Associate - Certifications
演示在 Microsoft Azure 中配置、管理、保护和管理关键专业功能的关键技能。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
可能不需要持续运行 Azure Kubernetes 服务 (AKS) 工作负载。 例如,可能有只在营业时间使用的开发群集。 这表示有时群集可能处于空闲状态,只运行系统组件。 可以通过将所有 User
节点池缩放为 0 来减少群集内存占用量,但当该群集运行时,仍需要 System
池来运行系统组件。
为了在这段时间内更好地优化成本,可以关闭或停止群集。 此操作将停止控制平面和代理节点,从而节省所有计算成本,同时保持除独立 pod 之外的所有对象。 存储群集状态,以备再次启动时可从中断的位置重新开始。
注意
停止群集会解除分配控制平面并释放容量。 在遇到容量限制的区域,客户可能无法启动已停止的群集。 我们不建议因此停止任务关键型工作负载。
备注
AKS 启动操作将从 ETCD 还原所有对象,但具有相同名称和存在时长的独立 Pod 除外。 这意味着 Pod 的存在时长将继续从其初始创建时间开始计算。 无论群集是否处于停止状态,此计算时长都会随着时间的推移而不断增加。
本文假设你有现有 AKS 群集。 如果需要 AKS 群集,可以使用 Azure CLI、Azure PowerShell 或 Azure 门户 创建一个。
当使用群集停止/启动功能时,以下条件适用:
使用 az aks stop
命令可以停止正在运行的 AKS 群集,包括节点和控制平面。 以下示例停止名为 myAKSCluster 的群集:
az aks stop --name myAKSCluster --resource-group myResourceGroup
验证群集是否已停止使用 az aks show
命令,并确认 powerState
显示为 Stopped
。
az aks show --name myAKSCluster --resource-group myResourceGroup
输出应该类似于以下简洁示例输出:
{
[...]
"nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
"powerState":{
"code":"Stopped"
},
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
[...]
}
如果 provisioningState
显示 Stopping
,则群集尚未完全停止。
重要
如果使用的是 Pod 中断预算,停止操作可能需要更长的时间,因为清空过程将花费更多的时间才能完成。
注意
在 AKS 上使用启动/停止功能后,必须等待 15-30 分钟才能重启 AKS 群集。 此等待期是必需的,因为相关服务需要几分钟时间才能完全停止。 尝试在此过程中重启群集可能会中断关闭过程,并可能导致群集或其工作负载出现问题。
使用 az aks start
命令以启动已停止的 AKS 群集。 群集将以先前的控制平面状态和代理节点数重新启动。 以下示例启动名为 myAKSCluster 的群集:
az aks start --name myAKSCluster --resource-group myResourceGroup
验证群集是否已开始使用 az aks show
命令,并确认 powerState
显示 Running
。
az aks show --name myAKSCluster --resource-group myResourceGroup
输出应该类似于以下简洁示例输出:
{
[...]
"nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
"powerState":{
"code":"Running"
},
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
[...]
}
如果 provisioningState
显示 Starting
,则群集尚未完全启动。
User
池缩放为 0,请参阅将 User
池缩放为 0。培训
模块
优化 Azure Kubernetes 服务 (AKS) 上的计算成本 - Training
了解可在 Azure 上采用哪些策略来通过使用 Azure Kubernetes 服务 (AKS) 优化云原生应用程序开发过程。
认证
Microsoft Certified: Azure Administrator Associate - Certifications
演示在 Microsoft Azure 中配置、管理、保护和管理关键专业功能的关键技能。