停止和启动 Azure Stack HCI 和 Windows Server 上的 Azure Kubernetes 服务群集

你的工作负载可能不需要连续运行,为了节省资源成本,建议停止(或关闭)Azure Stack HCI 和 Windows Server 上的 Azure Kubernetes 服务 (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 群集

若要启动已停止的 Azure Stack HCI 或 Windows Server 群集,请先在本地和/或远程计算机上重启操作系统,然后重启群集。

要在本地和远程计算机上重启操作系统,请使用以下 Restart-Computer PowerShell 命令:

PS:> Restart-Computer 

若要重启 Azure Stack HCI 或 Windows 群集的所有节点,请使用 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 

后续步骤