メンテナンス時間枠

このページでは、Kubernetes Engine クラスタのメンテナンス時間枠を構成する方法について説明します。

概要

メンテナンス時間枠を設定すると、クラスタまたはノード上の Kubernetes ソフトウェアに対する自動アップグレードのタイミングをより細かく制御できます。

メンテナンス時間枠を作成することで、自動化されたマスターのアップグレードIP ローテーションノードプールのアップグレードなどを特定の時間枠内で自動的にトリガーするように Kubernetes Engine に指示します。

Kubernetes Engine は、クラスタ マスターと(ノードの自動アップグレードが有効な場合は)ノードを自動的に Kubernetes の最新バージョンにアップグレードします。これらの自動アップグレードはユーザー操作なしで定期的に行われますが、その際にマスターノードや個々のノードのダウンタイムが短時間発生する場合があります。

しかし、状況によっては、これらのアップグレードの実行タイミングをより細かく制御したい場合があります。たとえば、次のような場合です。

  • オフピーク時: 自動アップグレードをトラフィックが減少するオフピーク時にスケジュールすることにより、ダウンタイムの可能性を最小限に抑えたい。
  • オンコール: アップグレードをモニタリングして予期せぬ問題を管理できるように、アップグレードを勤務時間中に実行したい。
  • 複数クラスタのアップグレード: 異なるリージョンの複数のクラスタに、指定した間隔で一度に 1 つずつアップグレードをロールアウトしたい。

メンテナンス時間枠は 4 時間で、曜日を問わず発生する可能性があります。タスクがメンテナンス時間枠を超えて実行された場合、Kubernetes Engine はオペレーションを停止しようとします。停止されたオペレーションは、次のメンテナンス時間枠で再開されます。

Kubernetes Engine が指定された時間枠でアップグレードを行わない場合もあります。予定されているアップグレードは、通常はリリースノートのページで発表されます。

Kubernetes Engine は、メンテナンス時間枠の外で予定外の緊急アップグレードをロールアウトする権限を有します。また、非推奨のソフトウェアや古いソフトウェアからの必須アップグレードがメンテナンス時間枠の外で自動的に行われることがあります。

始める前に

このタスクの準備をするには、次の手順を行います。

  • Cloud SDK をインストール済みであることを確認します。
  • デフォルトのプロジェクト ID を設定します。
    gcloud config set project [PROJECT_ID]
  • デフォルトのコンピューティング ゾーンを設定します。
    gcloud config set compute/zone [COMPUTE_ZONE]

クラスタにメンテナンス時間枠を設定する

以降のセクションで、メンテナンス時間枠を構成する方法について説明します。

メンテナンス時間枠を作成するには、マスターと(ノードの自動アップグレードが有効な場合は)ノードで自動アップグレードを開始する時間を指定する必要があります。

メンテナンス時間枠を設定したクラスタの作成

Console

メンテナンス時間枠を持つ新しいクラスタを作成するには、次の手順を行います。

  1. GCP Console で [Kubernetes Engine] メニューにアクセスします。

    [Kubernetes Engine] メニューにアクセス

  2. [クラスタを作成] をクリックします。

  3. 必要に応じてクラスタを設定します。次に、[メンテナンスの時間枠] プルダウン メニューから目的の時刻を選択します。
  4. [作成] をクリックします。

gcloud

メンテナンス時間枠を持つ新しいクラスタを作成するには、gcloud container clusters create コマンドを使用し、--maintenance-window フラグを指定します。

gcloud container clusters create [CLUSTER_NAME] --maintenance-window [HH:MM]

たとえば、次のコマンドは午前 2 時のメンテナンス時間枠を持つ my-cluster という名前のクラスタを作成します。

gcloud container clusters create my-cluster --maintenance-window 2:00

既存のクラスタのメンテナンス時間枠の構成

Console

既存のクラスタのメンテナンス時間枠を作成または変更するには、次の手順を行います。

  1. GCP Console で [Kubernetes Engine] メニューにアクセスします。

    [Kubernetes Engine] メニューにアクセスする

  2. クラスタをクリックし、[編集] をクリックします。

  3. [メンテナンスの時間枠] プルダウン メニューから目的の時刻を選択します。
  4. [保存] をクリックします。

gcloud

既存のクラスタのメンテナンス時間枠を作成または変更するには、--maintenance-window フラグを指定した gcloud container clusters update コマンドを使用します。

gcloud container clusters update [CLUSTER_NAME] --maintenance-window [HH:MM]

たとえば、次のコマンドは my-cluster のメンテナンス時間枠を午後 4 時に変更します。

gcloud container clusters update my-cluster --maintenance-window 16:00

メンテナンス時間枠の削除

Console

メンテナンス時間枠を削除するには、次の手順に従います。

  1. GCP Console で [Kubernetes Engine] メニューにアクセスします。

    [Kubernetes Engine] メニューにアクセスする

  2. クラスタをクリックし、[編集] をクリックします。

  3. [メンテナンスの時間枠] プルダウン メニューから [指定なし] を選択します。
  4. [保存] をクリックします。

gcloud

メンテナンス時間枠を削除するには、--maintenance-window フラグの値を None に設定します。

gcloud container clusters update [CLUSTER_NAME] --maintenance-window None

アップグレードをキャンセルする

まれに、アップグレードが完了するまでに 4 時間以上かかることがあります。その場合、Kubernetes Engine は進行中のアップグレードを停止し、次のメンテナンス時間枠で再開しようとします。自動アップグレードがキャンセルされ、ノードの自動アップグレードが有効になっている場合、ノードのバージョンが混在する可能性がありますが、クラスタは正常に動作します。

クラスタのアップグレードを手動でキャンセル、ロールバック、または実行する場合は、コンテナ クラスタのアップグレードをご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...