メンテナンスの時間枠と除外

このページでは、メンテナンスの時間枠メンテナンスの除外について説明します。これにより、自動アップグレードなどのクラスタ メンテナンスを Google Kubernetes Engine クラスタで実行するタイミングを指定できるようになります。たとえば、小売業ではメンテナンスの時間枠を平日の夜のみに限定し、主な営業時間に自動メンテナンスが実行されないようにできます。

メンテナンス時間枠のステータス

  • 簡略化された --maintenance-window フラグを使用すると、毎日 4 時間のメンテナンス時間枠の開始時間を指定できます。この機能は一般提供されています。
  • メンテナンス時間枠の期間と繰り返しを指定する拡張フラグは、ベータ版の機能として使用できます。
  • メンテナンスの除外は、ベータ版の機能として使用できます。

概要

メンテナンスの時間枠と除外を使用すると、クラスタで自動メンテナンスをいつ実行できるかをきめ細かく管理できます。

メンテナンスの時間枠は、自動メンテナンスの実行が可能な任意の定期的な時間枠です。

メンテナンスの除外は、自動メンテナンスの実行が禁止される任意の定期的な時間枠です。クラスタには、一度に 3 つまでのメンテナンスの除外を構成できます。

メンテナンスの時間枠とメンテナンスの除外は個別に構成できます。メンテナンスの除外は複数の構成が可能です。

自動メンテナンスの例

Google は、必要に応じてクラスタでメンテナンス タスクを実行するか、クラスタ内でノードやネットワークを再作成する構成変更を行った場合にメンテナンス タスクを実行します。例:

クラスタやノードのアップグレードなどのメンテナンスには、予測や計画が困難な場合があります。ゾーンクラスタは、マスターのアップグレード中(ワークロードのデプロイを含む)には変更できません。上記以外の他の種類の変更では、ノードを再作成する際に各ノードからワークロードを移動させるときに、一時的に障害が発生する可能性があります。

メンテナンスの時間枠

メンテナンスの時間枠を使用すると、マスターとノードの自動アップグレード実行のタイミングの管理が可能になり、ワークロードの一時的な中断を軽減できます。メンテナンスの時間枠は、次のような場合に役立ちます。

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

自動アップグレードに加えて、Google は他のメンテナンス作業を行うこともあります。その場合は、可能な限りクラスタのメンテナンス時間枠に従います。

タスクがメンテナンスの時間枠を超えて実行されると、GKE は操作を一時停止し、次のメンテナンス時間枠の間に再開を試みます。

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

新規または既存のクラスタに対してメンテナンスの時間枠を構成できます。

メンテナンス時間枠の注意点

メンテナンスの時間枠と除外を使用すると、セキュリティ パッチが遅延する可能性があります。GKE は、重大なセキュリティ脆弱性に対するメンテナンス ポリシーをオーバーライドする権利を有します。メンテナンスの時間枠を有効にする前に、次の注意点を確認してください。

Google Cloud のその他のメンテナンス

GKE クラスタとワークロードは、Compute Engine などの他のサービスの自動メンテナンスによっても影響を受ける可能性があります。メンテナンスの時間枠とメンテナンスの除外は、GKE 以外の自動メンテナンスには影響しません。

ノードの再作成とメンテナンスの時間枠

クラスタ マスターとノード間のネットワークに影響するような機能やオプションを有効化または変更すると、ノードが再作成されて新しい構成が適用されます。ノードを再作成する機能の例は次のとおりです。

メンテナンス時間枠を使用して、ノードの再作成が必要な機能やオプションを有効化または変更すると、新しい構成はメンテナンス時間枠内にのみノードに適用されます。待機しないようにするには、ノードが実行中のものと同じ GKE バージョンに --cluster-version フラグを設定することで、すでに使用しているバージョンと同じ GKE バージョンにノードプールを手動で「アップグレード」します。この回避策を行う場合は、gcloud コマンドを使用する必要があります。

クラスタごとに 1 つのメンテナンスの時間枠

メンテナンスの時間枠は、クラスタごとに 1 つだけ構成できます。新しいメンテナンスの時間枠を構成すると、以前のメンテナンスの時間枠が上書きされます。

メンテナンス時間枠のタイムゾーン

メンテナンス時間枠を構成および表示する場合、使用しているツールによって表示される時間が異なります。

メンテナンスの時間枠を構成する場合

古い --maintenance-window フラグを使用してメンテナンスの時間枠を構成する場合、タイムゾーンを指定できません。gcloud コマンドまたは API では UTC が使われ、Google Cloud Console では、ローカル タイムゾーンを使用して時間を表示します。

--maintenance-window-start などのより詳細なフラグを使用する場合、値の一部としてタイムゾーンを指定できます。タイムゾーンを省略すると、ローカル タイムゾーンが使用されます。時間は常に UTC で保存されます。

メンテナンスの時間枠を表示する場合

クラスタの情報を表示するとき、情報の表示方法に応じて、メンテナンスの時間枠のタイムスタンプは UTC またはローカル タイムゾーンで表示されます。

  • Google Cloud Console を使用してクラスタの情報を表示する場合、時間は常にローカル タイムゾーンで表示されます。
  • gcloud を使用してクラスタの情報を表示する場合、時間は常に UTC で表示されます。

メンテナンスの除外

メンテナンスの除外を指定すると、特定の期間の自動メンテナンスを回避できます。たとえば、多くの小売業には、年末年始のインフラストラクチャの変更を禁止するビジネス ガイドラインがあります。

最大 3 つの除外設定を追加できます。サポートされる構成を維持するには、Google はクラスタを維持するための十分な時間を確保する必要があります。

除外構成に繰り返しはありません。代わりに、定期的な除外の各インスタンスを個別に作成します。

新規または既存のクラスタに対してメンテナンスの除外を構成できます。

次のステップ