Azure Kubernetes Service クラスターを停止して再起動する
適用対象: Azure Local 22H2 上の AKS、Windows Server 上の AKS
Azure Arc によって有効になっている AKS では、ワークロードを継続的に実行する必要がない場合があります。 リソース コストを節約するために、Azure Kubernetes Service (AKS) クラスターを停止 (またはシャットダウン) できます。 クラスターを停止するには、Hyper-V ホストからこの記事で説明されているコマンドを実行して、さまざまなコンポーネントの電源をオフにします。 この記事では、停止したクラスターを再起動する方法と、再起動後にコントロール プレーン ノードが実行されていることを確認する方法についても説明します。
開始する前に
この記事では、既存の Kubernetes クラスターがコンピューターにインストールされ、構成されていることを前提としています。 クラスターをインストールする必要がある場合は、AKS Arc のクイックスタートを参照して、AKS ホストを 設定し、ワークロード クラスターをデプロイします。
クラスターを停止する
クラスターを停止 (またはシャットダウン) するには、クラスター サービスを停止してから、ローカル コンピューターまたはリモート コンピューターを停止する必要があります。
クラスター サービスを停止する
Stop-Cluster PowerShell コマンドを使用してクラスターをシャットダウンし、クラスター内のすべてのノードでクラスター サービスを停止します。 このコマンドを実行すると、そのクラスターで構成されているサービスとアプリケーションがすべて停止します。
重要
Stop-Cluster
を実行すると、クラスター内の他のすべてのノードと VM ベースのアプリケーションが影響を受ける。
ローカル クラスターのすべてのノードでクラスター サービスを停止するには、管理者として PowerShell を開き、クラスター内のいずれかのマシンで次のコマンドを実行します。
Stop-Cluster
コマンドを実行した後、 Y (はい) を入力して、クラスターを停止することを確認します。
Note
同じコンピューターまたはクラスター内の複数のマシンで Stop-Cluster
を 2 回実行すると、"クラスター サービスが実行されていません" というメッセージが表示されます。
ローカル コンピューターとリモート コンピューターを停止する
ローカル コンピューターとリモート コンピューターをシャットダウンするには、 Stop-Computer PowerShell コマンドを使用します。
Stop-Computer
クラスターの開始
停止したクラスターを再起動するには、まず、ローカル コンピューターまたはリモート コンピューターでオペレーティング システムを再起動してから、クラスターを再起動します。
ローカルとリモートのコンピューターでオペレーティング システムを再起動するには、次の Restart-Computer PowerShell コマンドを使用します。
Restart-Computer
クラスターのすべてのノードを再起動するには、 Start-Cluster PowerShell コマンドを使用します。
Start-Cluster
ノードは、クラスター サービスの実行中にのみクラスターの一部として機能できます。
Note
サーバー コンピューターで CredSSP 認証なしで Start-Cluster
をリモートで実行することはできません。
クラスターが起動したことを確認するには、次の例に示すように、 Get-ClusterNode PowerShell コマンドを使用します。
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 コマンドを実行します。
$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 を再起動します。
Restart-VM -name $vmName -force