メンテナンス時間枠

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

概要

メンテナンス時間枠は、ユーザー選択による、自動アップグレードが行われる 4 時間の時間枠です。メンテナンス時間枠を作成することで、自動化されたマスターのアップグレードIP ローテーションノードプールのアップグレードなどを、選択した時間枠内で自動的にトリガーするように GKE に指示します。たとえば、午後 4 時に開始するメンテナンス時間枠を作成すると、この時間枠は午後 8 時まで続きます。

アップグレードは曜日を問わず、時間枠内でいつでも実施される可能性があります。メンテナンス時間枠により、クラスタまたはノード上の Kubernetes ソフトウェアに対するアップグレード実施時期をより細かく制御できます。

GKE はクラスタ マスターを自動的にアップグレードし、ノードの自動アップグレードが有効になっている場合は、Kubernetes の最新バージョンでノードを自動的にアップグレードします。タスクがメンテナンス時間枠を超えて実行された場合、GKE はオペレーションを停止しようとします。停止されたオペレーションは、次のメンテナンス時間枠で再開されます。

これらの自動アップグレードはユーザー操作なしで定期的に行われますが、その際にマスターノードや個々のノードのダウンタイムが短時間発生する場合があります。しかし、状況によっては、これらのアップグレードの実施時期をより細かく制御したい場合があります。例:

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

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

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

注意点

ノードの再作成が必要になる変更をノードに加えた場合(たとえばネットワーク ポリシーを有効にした場合)、ノードが次のメンテナンス時間枠までに再作成されず、遅延が起きる場合があります。待てない場合は、いつでもクラスタを手動でアップグレードできます。

始める前に

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

  • Google Kubernetes Engine API が有効になっていることを確認します。
  • Google Kubernetes Engine API の有効化
  • Cloud SDK がインストール済みであることを確認します。
  • デフォルトのプロジェクト ID を設定します。
    gcloud config set project [PROJECT_ID]
  • ゾーンクラスタを使用する場合は、デフォルトのコンピューティング ゾーンを設定します。
    gcloud config set compute/zone [COMPUTE_ZONE]
  • リージョン クラスタを使用する場合は、デフォルトのコンピューティング リージョンを設定します。
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud を最新バージョンに更新します。
    gcloud components update

クラスタにメンテナンス時間枠を構成する

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

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

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

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 で Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine のメニューに移動

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

  3. [標準クラスタ] テンプレートを選択するか、ワークロードに適したテンプレートを選択します。[高可用性] テンプレートを選択すると、リージョン クラスタがデフォルトのメンテナンス時間枠付きで作成されます。
  4. 必要に応じてクラスタを構成します。
  5. メンテナンス時間枠をカスタマイズする場合、あるいはデフォルトでメンテナンス時間枠を含まないクラスタ作成テンプレートを使用した場合は、[詳細オプション] をクリックします。次に、[メンテナンスの時間枠] プルダウン メニューから目的の時刻を選択します。
  6. [作成] をクリックします。

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

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 で Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine のメニューに移動

  2. 鉛筆の形をしたクラスタの [編集] ボタンをクリックします。

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

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

gcloud

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

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

Console

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

  1. GCP Console で Google Kubernetes Engine のメニューに移動します。

    Google Kubernetes Engine のメニューに移動

  2. 鉛筆の形をしたクラスタの [編集] ボタンをクリックします。

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

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

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

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

次のステップ

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

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