您可能不需要持續執行 AKS 工作負載。 例如您的開發叢集可能有具有執行特定工作負載的節點集區。 如果要將計算成本最佳化,您可以完全停止 AKS 叢集中的節點集區。 當你需要重新執行工作負載時,可以重新啟動節點池。 本文將教你如何使用 Azure CLI 在 AKS 叢集中停止和啟動節點池。
功能和限制
- 您無法將系統集區停止。
- 支援現成節點集區。
- 可以升級已停止的節點集區。
- 要停止節點池,叢集與使用者節點池必須同時運行,且節點池
provisioningState必須是Succeeded。 - 要啟動節點池,叢集必須在運行中,且使用者節點池必須停止。
- 你無法阻止使用 節點自動配置(NAP)的叢集中的節點池。
小提示
你可以用 Azure Copilot 在 Azure 入口網站中停止和啟動你的節點池。 欲了解更多資訊,請參閱「 使用 Azure Copilot 高效地處理 AKS 叢集」。
開始之前
本文假設您目前具有 AKS 叢集。 若您需要 AKS 叢集,請使用 Azure CLI、Azure PowerShell 或 Azure 入口網站建立。
本文需要 Azure CLI 2.38.0 或更新版本。 執行 az --version 來了解您安裝的版本。 欲了解更多關於安裝或升級 Azure CLI 的資訊,請參閱安裝 Azure CLI。
Stop a running aks node pool using the Azure CLI
在停止節點池之前,先確認叢集和使用者節點池都在運作,節點池 provisioningState 是 Succeeded,且叢集沒有使用節點自動配置。
Warning
停止節點池會停止該池中所有虛擬機。 在停止池子之前,先確認其工作負載能容忍中斷,或能在另一個節點池上運行。
使用
az aks nodepool stop命令停止執行中的 AKS 節點集區。az aks nodepool stop --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool使用
az aks nodepool show命令驗證您的節點集區已停止。az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool下列簡化的輸出範例顯示
powerState為Stopped:{ [...] "osType": "Linux", "podSubnetId": null, "powerState": { "code": "Stopped" }, "provisioningState": "Succeeded", "proximityPlacementGroupId": null, [...] }注意
如果
provisioningState顯示Stopping,代表您的節點集區仍在進行停止流程。注意
停止節點池也會停止該節點池的 叢集自動擴展器 。 啟動節點池會重新啟動叢集自動調整器。 在虛擬機停止時,不要手動修改虛擬機在 Scale Set 實例池中的數量。 直接修改 AKS 管理的基礎設施資源是不支援的,可能導致叢集自動調整器不一致及操作失敗。 欲了解更多資訊,請參閱 「代理節點的使用者自訂」。
Restart an AKS node pool using the Azure CLI
在啟動節點池之前,先確認叢集正在運行且使用者節點池已停止。
用這個
az aks nodepool start指令重新啟動停止的節點池。az aks nodepool start --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool使用
az aks nodepool show命令驗證您的節點集區已啟動。az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --nodepool-name testnodepool下列簡化的輸出範例顯示
powerState為Running:{ [...] "osType": "Linux", "podSubnetId": null, "powerState": { "code": "Running" }, "provisioningState": "Succeeded", "proximityPlacementGroupId": null, [...] }注意
如果
provisioningState顯示Starting,代表您的節點集區仍在進行啟動流程。
下一步
- 如果要了解如何將
User集區縮放為 0,請參閱將集區User縮放為 0。 - 如果要了解如何停止叢集,請參閱叢集啟動/停止。
- 如果要了解如何使用現成執行個體節省成本,請參閱將現成節點集區新增至 AKS。
- 如果要深入了解 AKS 支援原則,請參閱AKS 支援原則。