您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

停止和启动 Azure Kubernetes 服务 (AKS) 群集

AKS 工作负载可能不需要连续运行,例如仅在工作时间使用的开发群集。 这会导致 Azure Kubernetes 服务 (AKS) 群集可能处于空闲状态,运行的时间不超过系统组件的运行时间。 可以通过将所有 User 节点池缩放为 0 来减少群集内存占用量,但当该群集运行时,仍需要 System来运行系统组件。 若要在这段时间内进一步优化成本,可以完全关闭(停止)群集。 此操作将完全停止控制平面和代理节点,使你可以节省所有计算成本,同时维护所有存储的对象(独立 Pod 除外)和群集状态,以备再次启动时使用。 然后,你可以在周末结束后继续工作,或仅在运行批处理作业时才运行群集。

开始之前

本文假定你拥有现有的 AKS 群集。 如果需要 AKS 群集,请参阅使用 Azure CLI 的 AKS 快速入门、使用 Azure PowerShell 的 AKS 快速入门或使用 Azure 门户的 AKS 快速入门。

限制

使用群集启动/停止功能时,存在以下限制:

  • 只有虚拟机规模集支持的群集才支持此功能。
  • 已停止的 AKS 群集的群集状态将最多保留 12 个月。 如果群集停止超过 12 个月,则无法恢复群集状态。 有关详细信息,请参阅 AKS 支持策略
  • 只能启动或删除已停止的 AKS 群集。 若要执行任何操作(例如缩放或升级),请先启动群集。
  • 启动某个已停止的 AKS 群集时,需要删除并重新创建链接到专用群集的客户预配 PrivateEndpoints。
  • 由于停止进程会清空所有节点,因此,任何独立 Pod(例如,不由 Deployment、StatefulSet、DaemonSet、Job 等管理的 Pod)将被删除。

停止 AKS 群集

可以使用 az aks stop 命令停止正在运行的 AKS 群集的节点和控制平面。 以下示例停止名为 myAKSCluster 的群集:

az aks stop --name myAKSCluster --resource-group myResourceGroup

可以使用 az aks show 命令并确认 powerState 显示为 Stopped 来验证群集停止的时间,如以下输出所示:

{
[...]
  "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
  "powerState":{
    "code":"Stopped"
  },
  "privateFqdn": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
[...]
}

如果 provisioningState 显示为 Stopping,则表明群集尚未完全停止。

重要

如果使用的是 Pod 中断预算,停止操作可能需要更长的时间,因为排出过程将花费更多的时间才能完成。

启动 AKS 群集

可以使用 az aks start 命令启动已停止的 AKS 群集的节点和控制平面。 使用先前的控制平面状态和代理节点数重启群集。 以下示例启动名为 myAKSCluster 的群集:

az aks start --name myAKSCluster --resource-group myResourceGroup

可以使用 az aks show 命令并确认 powerState 显示为 Running 来验证群集启动的时间,如以下输出所示:

{
[...]
  "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
  "powerState":{
    "code":"Running"
  },
  "privateFqdn": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
[...]
}

如果 provisioningState 显示为 Starting,则表明群集尚未完全启动。

备注

启动群集备份时,预期会出现以下行为:

  • API 服务器的 IP 地址可能会更改。
  • 如果使用的是群集自动缩放程序,则在启动群集备份时,当前节点计数可能不在所设置的最小和最大范围值之间。 群集以运行其工作负载所需的节点数(不受自动缩放程序设置影响)开始。 当群集执行缩放操作时,最小值和最大值将影响当前节点计数,并且群集最终将进入并保持在所需范围内,直到停止群集为止。

后续步骤