訓練
模組
將 Azure Kubernetes Service (AKS) 上的計算成本最佳化 - Training
探索可在 Azure 上使用的策略,讓您能夠使用 Azure Kubernetes Service (AKS),將雲端原生應用程式開發程序最佳化。
您可能不需要持續執行 Azure Kubernetes Service (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 Service (AKS) 上的計算成本最佳化 - Training
探索可在 Azure 上使用的策略,讓您能夠使用 Azure Kubernetes Service (AKS),將雲端原生應用程式開發程序最佳化。