停止並啟動 Azure Stack HCI 和 Windows Server 上的 Azure Kubernetes Service 叢集
您的工作負載可能不需要持續執行,若要節省資源成本,可能需要停止 (或關閉) Azure Stack HCI 和 Windows Server 上的 Azure Kubernetes Service (AKS) 叢集。 若要停止叢集,請從您的 Hyper-V 主機執行本文所述的命令,以關閉不同的元件。 本文也會說明如何啟動已停止的叢集,以及如何確認控制平面節點在重新啟動後是否正在執行。
開始之前
本文假設您的機器上,已安裝並設定 Azure Stack HCI 和 Windows Server 上的現有 AKS 叢集。 如果您需要安裝叢集,請參閱 Azure Stack HCI 和 Windows Server 上的 AKS 快速入門,以設定 AKS 主機並部署工作負載叢集。
停止 Azure Stack HCI 或 Windows Server 叢集
若要停止 (或關閉) 叢集,您必須先停止叢集服務,然後停止本地和 / 或遠端電腦。
停止叢集服務
使用 Stop-Cluster PowerShell 命令,關閉 Azure Stack HCI 或 Windows Server 叢集,並在叢集中的所有節點上停止叢集服務。 執行此命令會停止叢集中設定的所有服務和應用程式。
重要
當您執行 Stop-Cluster
時,叢集中的所有其他節點和 VM 型應用程式也會受到影響。
若要停止本地叢集所有節點上的叢集服務,請以管理員身分開啟 PowerShell,並在叢集中的其中一部機器上執行下列命令:
PS:> Stop-Cluster
執行此命令之後,請輸入 Y [是] 以確認您想要停止叢集。
注意
如果您在同一部機器,或在叢集中的多部的機器上執行兩次 Stop-Cluster
,則會收到錯誤,指出「沒有叢集服務執行中」。
停止本地或遠端電腦
若要關閉本地和遠端電腦,請使用 Stop-Computer PowerShell 命令,如下所示:
PS:> Stop-Computer
在 Windows Server 叢集上啟動 Azure Stack HCI
若要在 Windows Server 叢集上啟動已停止的 Azure Stack HCI,請先在本機和/或遠端電腦上重新啟動作業系統,再接著重新啟動叢集。
若要在本地電腦和遠端電腦上重新啟動作業系統,請使用下列 Restart-Computer PowerShell 命令:
PS:> Restart-Computer
若要重新啟動 Windows 叢集上 Azure Stack HCI 的所有節點,請使用如下所示的 Start-Cluster PowerShell 命令:
PS:> Start-Cluster
當叢集服務正在執行時,節點只能做為叢集的一部分。
注意
您無法在沒有 CredSSP 驗證的伺服器機器上從遠端執行 Start-Cluster。
若要確認您的叢集是否已啟動,請使用如下列範例所示的 Get-ClusterNode PowerShell 命令:
PS:> Get-ClusterNode -ErrorAction SilentlyContinue | foreach-object {
$node = $_.Name
$state = $_.State
Write-Host "$node State = $state"
}
輸出會類似下列叢集節點清單:
TK5-3WP15R1625 State = Up
TK5-3WP15R1627 State = Up
TK5-3WP15R1629 State = Up
TK5-3WP15R1631 State = Up
確認控制平面節點正在執行
若要確認控制平面節點是否正在執行,請列舉 VM,並確定其狀態為 [正在執行]。 若要從您的 Hyper-V 主機檢視控制平面 VM 的狀態,請在包括管理叢集控制平面 VM 的實體電腦上執行下列 PowerShell 命令:
PS:> $controlPlanes = Get-VM | ? { $_.Name -like '*-control-plane-*' -and $_.State -eq 'Running' } | % { $_.Name }
如果您在具有控制平面 VM 的機器以外的機器上執行此命令,您將會收到 null 輸出。
範例輸出如下所示:
c8bf39ad-67bd-4a7d-ac77-638be6eecf46-control-plane-0-d38498de
my-cluster-control-plane-q9mbp-ae97a3e5
如果控制平面節點未執行,請執行下列 PowerShell 命令來重新啟動 VM:
PS:> Restart-VM -name $vmName -force