次の方法で共有


Azure Kubernetes Service (AKS) クラスターの停止と起動

Azure Kubernetes Service (AKS) ワークロードを継続的に実行する必要がない場合があります。 たとえば、営業時間中にのみ使用する開発クラスターがあるとします。 これは、クラスターがアイドル状態で、システム コンポーネント以外は何も実行されていない場合があることを意味します。 すべての User ノード プールを 0 にスケーリングすることで、クラスターの占有領域を削減できますが、クラスターの実行中にシステム コンポーネントを実行するには System プールが必要です。

これらの期間中にコストをさらに最適化するために、クラスターをオフにするか停止することができます。 このアクションによって、コントロール プレーンとエージェント ノードが停止され、スタンドアロン ポッドを除くすべてのオブジェクトを保持しつつ、すべてのコンピューティング コストを節約できます。 クラスターの状態は次回の起動に備えて保存されるため、中断したところから再開できます。

注意事項

クラスターを停止すると、コントロール プレーンの割り当てが解除され、容量が解放されます。 容量の制約が発生しているリージョンでは、お客様は、停止したクラスターを起動できない可能性があります。 このため、ミッション クリティカルなワークロードを停止することはお勧めしません。

Note

AKS の開始操作では、名前と有効期間が同じスタンドアロン ポッドを除き、ETCD からすべてのオブジェクトが復元されます。 は、ポッドの有効期間が元の作成時刻から引き続き計算されることを意味します。 クラスターが停止状態であるかどうかに関係なく、この数は時間の経過と共に増加し続けます。

開始する前に

この記事は、AKS クラスターがすでに存在していることを前提としています。 AKS クラスターが必要な場合は、Azure CLIAzure PowerShell、または Azure portal を使用して作成できます。

クラスターの停止/起動機能について

クラスターの停止/起動機能を使用する場合、次の条件が適用されます:

  • この機能は、仮想マシン スケール セットでサポートされているクラスターでのみサポートされています。
  • ノード自動プロビジョニング (NAP) 機能を使用するクラスターを停止することはできません。
  • 停止した AKS クラスターのクラスターの状態は、最大 12 か月間保持されます。 クラスターが 12 か月間を超えて停止している場合、状態を復旧することはできません。 詳細については、「AKS のサポート ポリシー」をご覧ください。
  • 停止した AKS クラスターでは、操作の開始か削除のみ実行できます。 スケーリングやアップグレードなど他の操作を実行するには、まずクラスターを起動する必要があります。
  • プライベート クラスターにリンクされた PrivateEndpoint をプロビジョニングした場合は、停止した AKS クラスターを起動する際に、PrivateEndpoint を削除して再作成する必要があります。
  • 停止プロセスはすべてのノードをドレインするため、スタンドアロン ポッド (Deployment、StatefulSet、DaemonSet、Job などによって管理されていないポッド) はすべて削除されます。
  • クラスター バックアップを開始する場合、次の動作が想定されます:
    • API サーバーの IP アドレスは異なっている場合があります。
    • クラスターの自動スケーリングを使用している場合は、クラスターを起動する際、現在のノード数が、設定した最小値と最大値の範囲に収まらない場合があります。 クラスターは、ワークロードを実行するために必要なノード数で開始します。これは、オートスケーラー設定の影響を受けません。 クラスターでスケーリング操作が実行されるときに、この最小値と最大値は現在のノード数に反映され、やがて、クラスターのノード数は設定した範囲内に収まります。その後、クラスターを停止するまでこの範囲内にあります。

AKS クラスターを停止する

  1. az aks stop コマンドを使用して、ノードとコントロール プレーンも含めて、実行中の AKS クラスターを停止します。 次の例では、myAKSCluster という名前のクラスターを停止します。

    az aks stop --name myAKSCluster --resource-group myResourceGroup
    
  2. クラスターが停止したことを確認するために az aks show コマンドを使用して、powerStateStopped と表示されていることを確認します。

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    出力は、次の要約された出力例のようになります:

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Stopped"
      },
      "privateFqdn": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
    [...]
    }
    

    provisioningStateStopping と表示されている場合、クラスターはまだ完全に停止していません。

重要

ポッド中断バジェットを使用している場合、ドレイン プロセスの完了に時間がかかるため、停止操作に時間がかかることがあります。

AKS クラスターを起動する

注意事項

AKS で起動/停止機能を使用した後は、AKS クラスターを再起動するまで 15 から 30 分待つ必要があります。 この待機期間が必要となるのは、関連するサービスが完全に停止するまでに数分かかるためです。 このプロセス中にクラスターを再起動しようとすると、シャットダウン プロセスが中断され、クラスターまたはそのワークロードに問題が発生する可能性があります。

  1. az aks start コマンドを使用して、停止した AKS クラスターを起動します。 クラスターは、以前のコントロール プレーンの状態とエージェント ノード数で再起動されます。 次の例では、myAKSCluster という名前のクラスターを起動します。

    az aks start --name myAKSCluster --resource-group myResourceGroup
    
  2. クラスターが起動したことを確認するために az aks show コマンドを使用して、powerStateRunning と表示されていることを確認します。

    az aks show --name myAKSCluster --resource-group myResourceGroup
    

    出力は、次の要約された出力例のようになります:

    {
    [...]
      "nodeResourceGroup": "MC_myResourceGroup_myAKSCluster_westus2",
      "powerState":{
        "code":"Running"
     },
     "privateFqdn": null,
     "provisioningState": "Succeeded",
     "resourceGroup": "myResourceGroup",
    [...]
    }
    

    provisioningStateStarting と表示されている場合は、クラスターがまだ完全に起動していません。

次の手順