このページでは、Google Kubernetes Engine(GKE)クラスタのアップグレードに関する情報を取得する方法について説明します。GKE は、時間の経過とともにすべてのクラスタを自動的にアップグレードします。GKE がクラスタをアップグレードする際、GKE は Kubernetes コントロール プレーンとワーカーノードのバージョンを個別のオペレーションで更新します。
GKE は、クラスタのアップグレードに関する情報を集約して、クラスタのステータスを把握できるようにします。クラスタの次の情報を取得できます。
- 自動アップグレードのターゲット: GKE がクラスタのターゲットとする新しいバージョン(クラスタの既存のバージョンと制約に応じた、パッチまたは新しいマイナー バージョンのいずれか)を確認します。自動アップグレード ターゲットがない場合、クラスタはすでに最新のアップグレード ターゲット上にあるか、技術的な理由またはビジネス上の理由で GKE が自動アップグレード ターゲットを割り当てていません。GKE リリースノートのバージョン アップデート(2024-R33 ノートなど)で、クラスタのマイナー バージョンに基づいて一般的な自動アップグレード ターゲットを取得することもできます。
- 自動アップグレードのステータス: GKE クラスタは、クラスタのアップグレードのステータスを持ちます。このステータスを使用して、現在のアップグレードと、クラスタを自動的にアップグレードするタイミングを選択する際に GKE が考慮する制約(メンテナンスの除外やアップグレードを妨げる理由など)を確認します。詳細については、クラスタの自動アップグレードのステータスをご覧ください。
アップグレード履歴: GKE は、クラスタの最近のコントロール プレーン アップグレードとノード アップグレード(自動アップグレードと手動アップグレードの両方)のスナップショットを提供します。コントロール プレーンとノードの最近のアップグレードについては、次のような詳細を確認できます。
- バージョン: 初期バージョンとターゲット バージョン。
- 状態: アップグレードがまだ完了していないかどうか、あるいは成功、失敗、キャンセルのいずれであるか。
- 時間: 開始時間と終了時間。
- 開始タイプ: アップグレードが自動的にトリガーされたか手動でトリガーされたか。
サポート終了日: GKE はマイナー バージョンを最長 24 か月間サポートします。詳細については、GKE のマイナー バージョン ライフサイクルをご覧ください。現在のすべてのマイナー バージョンのサポート終了日については、リリース チャンネルのおおよそのスケジュールをご覧ください。
クラスタ イベント: GKE は、アップグレードの開始または完了、新しいバージョンのリリース、セキュリティに関する公開情報、サポート終了日などの特定のイベントについて、Cloud Logging にクラスタ通知を送信します。GKE は Cloud Logging でこれらのイベントを自動的に表示しますが、これらの通知を Pub/Sub に転送することもできます。詳細については、クラスタ通知をご覧ください。
始める前に
作業を始める前に、次のことを確認してください。
- Google Kubernetes Engine API を有効にする。 Google Kubernetes Engine API の有効化
- このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、
gcloud components update
を実行して最新のバージョンを取得する。
クラスタのアップグレードに関する情報を取得する
クラスタのアップグレードに関する情報は、Google Cloud コンソールまたは gcloud CLI を使用して取得できます。
プロジェクト レベルでアップグレードに関する情報を取得する
プロジェクト全体のクラスタ アップグレードに関する集計情報を取得するには、[アップグレード] ダッシュボードを使用します。
Google Cloud コンソールで [アップグレード] ダッシュボードに移動します。
このダッシュボードのタブには、次のようなアップグレードに関する関連情報が集約されます。
- コントロール プレーンとノードの最近のアップグレードのステータス
- アップグレードのクラスタ通知ログ
- アップグレードに関連する推奨事項
- 特定のマイナー バージョンのサポート終了タイムライン
- 各リリース チャンネルのクラスタ数
クラスタレベルでアップグレード情報を取得する
コンソール
Google Cloud コンソールで [Kubernetes クラスタ] ページに移動します。
クラスタの名前を選択して、[クラスタの詳細] ページを表示します。
[クラスタの詳細] ページの [クラスタのアップグレード] セクションを確認します。
gcloud
次のコマンドを実行します。
gcloud container clusters get-upgrade-info CLUSTER_NAME
CLUSTER_NAME
は、クラスタの名前に置き換えます。
Standard クラスタのノードプールのアップグレード情報を取得する
Standard クラスタの個々のノードプールの公開設定を取得できます。このセクションは、GKE がノードを管理し、管理対象のノードプールがない Autopilot クラスタには適用されません。
コンソール
Google Cloud コンソールで [Kubernetes クラスタ] ページに移動します。
クラスタの名前をクリックして、詳細を表示します。
[ノード] タブをクリックします。
[ノードプール] セクションで、アップグレード情報を取得するノードプールの名前をクリックします。
[ノードプールの詳細] ページの [アップグレード] セクションを確認します。
gcloud
次のコマンドを実行します。
gcloud container node-pools get-upgrade-info POOL_NAME
--cluster=CLUSTER_NAME
POOL_NAME
は、ノードプールの名前に置き換えます。
クラスタの自動アップグレードのステータス
クラスタの自動アップグレードのステータスは次のとおりです。
ACTIVE
: アクティブなアップグレード ステータス。UNKNOWN
: アップグレード ステータスが不明。MINOR_UPGRADE_PAUSED
: マイナー バージョンのアップグレードが一時停止中。UPGRADE_PAUSED
: すべての自動アップグレードが一時停止中。
GKE がクラスタの自動アップグレードを一時停止する可能性がある理由は次のとおりです。
MAINTENANCE_WINDOW
: メンテナンスの時間枠によりクラスタのアップグレードが妨げられている。MAINTENANCE_EXCLUSION_
: この接頭辞が付いた一時停止の理由は、メンテナンスの除外によってクラスタのアップグレードが妨げられていることを示している。接尾辞はメンテナンスの除外のスコープを示す(MAINTENANCE_EXCLUSION_NO_UPGRADES
など)。CLUSTER_DISRUPTION_BUDGET
: クラスタの作成やアップグレードなどの特定のオペレーションの後、クラスタとそのアプリケーションの安定性と可用性を保護するために、クラスタにはクールダウン期間が必要。CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE
: クラスタがマイナー バージョン アップグレードのクラスタ停止予算の範囲外。SYSTEM_CONFIG
: 技術的またはビジネス上の理由により、自動アップグレードが一時停止中。このステータスでは、必要な場合を除き、手動アップグレードを行わないことをおすすめします。AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED
: 理由不明。
クラスタ アップグレードの一般的なシナリオに関する情報
クラスタ アップグレードの管理中に発生する可能性のある一般的なシナリオについて説明します。
クラスタの次回のアップグレードの予定を確認する
新しいバージョンへのアップグレードの計画と選定のためにクラスタの次回のアップグレードの予定を確認するには、次のリソースを使用します。
- リリース スケジュール: リリース チャンネルのおおよそのスケジュールで、クラスタのマイナー バージョンとリリース チャンネルに対応する自動アップグレードの推定日付を確認します。
- クラスタレベルでアップグレード情報を取得する: クラスタの自動アップグレード ターゲットを確認します。
- クラスタ通知: 新しいバージョンがチャンネルで利用可能になると、GKE から通知が送信されます。新しいバージョンが利用可能になると、GKE はチャンネルの自動アップグレード ターゲットとしてそのバージョンを指定します。タイミングはチャンネルによって異なります。これらの通知を表示するには、Cloud Logging でクラスタ通知を表示するときに
UpgradeAvailableEvent
でフィルタします。 - リリースノート: リリースノートで、GKE が新しいマイナー バージョンをチャンネルの自動アップグレード ターゲットとして設定するタイミングを確認できます。
クラスタの次のアップグレードをブロックしている原因を確認する
アップグレードのブロックを解除するためにブロックされている理由を確認するには、クラスタの自動アップグレードのステータスを確認します。自動アップグレードが一時停止されている場合は、その理由を確認します。次のいずれかの方法を使用します。
- プロジェクト レベルでアップグレード情報を取得する(プレビュー)。[アップグレード] タブをクリックすると、[アップグレードのステータス] の表が表示されます。表でクラスタを見つけて、クラスタの [自動アップグレード] 列を確認します。
- クラスタレベルでアップグレード情報を取得する。クラスタの自動アップグレードのステータスを確認します。
クラスタのアップグレードが完了するタイミングを確認する
ワークロードが想定どおりに動作することを確認するためにクラスタのコントロール プレーンとノードのアップグレードが完了するタイミングを確認するには、次のリソースを使用します。
- クラスタ通知: クラスタのアップグレード オペレーションが完了すると、GKE から通知が送信されます。これらの通知を表示するには、Cloud Logging でクラスタ通知を表示するときに
UpgradeInfoEvent
でフィルタします。 - [アップグレード] ダッシュボード(プレビュー):Google Cloud コンソールの [アップグレード ステータス] の表に移動します。クラスタを見つけます。[ステータス] 列に [アップグレード済み] と表示されている場合は、[最新のアップデート] 列でアップグレードが完了した日時を確認します。
- クラスタレベルでアップグレード情報を取得する: gcloud CLI を使用して、クラスタのアップグレード履歴(最近のアップグレードを含む)を確認します。
アップグレードにかかる時間を確認する
アップグレードにかかる時間を確認するには、クラスタレベルでアップグレード情報を取得して、過去のアップグレードの所要時間を調べます。アップグレード履歴で最近の例を確認します。
アップグレードの所要時間は、アップグレードの対象がコントロール プレーンであるかノードであるかに加え、アップグレード戦略、Pod Disruption Budget(PDB)、有効なメンテナンス ポリシーなどの要因によって異なります。
クラスタのマイナー バージョンのサポート終了日を確認する
GKE は、サポートが終了したマイナー バージョンをまだ実行しているクラスタを自動的にアップグレードします。詳細については、サポート終了時の自動アップグレードをご覧ください。
メンテナンスの除外を設定する、非推奨の API が使用できなくなる日を確認するなどの目的で、クラスタのマイナー バージョンのサポート終了日を確認するには、次のリソースを使用します。
- リリース スケジュール: リリース チャンネルのおおよそのスケジュールで、クラスタのマイナー バージョンとリリース チャンネルに対応するサポート終了日を確認します。Extended チャンネルにないクラスタについては、標準サポートの終了日をご覧ください。Extended チャンネルのクラスタについては、延長サポートの終了日をご覧ください。
- クラスタ通知: クラスタでサポートが終了したか終了間近のマイナー バージョンが実行されている場合、GKE から通知が送信されます。これらの通知を表示するには、Cloud Logging でクラスタ通知を表示するときに
UpgradeInfoEvent
でフィルタします。 - 分析情報と推奨事項: クラスタで標準サポートが終了したマイナー バージョンが実行されている場合は、GKE から通知されます。詳細については、標準サポートが終了したマイナー バージョンを実行しているクラスタを特定するをご覧ください。
- クラスタレベルでアップグレード情報を取得する: クラスタのマイナー バージョンのサポート終了日を確認します。
- [アップグレード] ダッシュボード(プレビュー): [アップグレード] ダッシュボードに、特定のバージョンについてサポート終了までの残り日数を示す [バージョンのサポート終了] セクションがあります。