リリース チャンネルについて


Google Kubernetes Engine(GKE)のリリース チャンネルを使用して、機能の可用性と安定性のバランスを考慮してクラスタのバージョンを選択します。

GKE は、リリース チャンネルに登録されていないクラスタを含むすべてのクラスタを自動的にアップグレードし、クラスタにセキュリティ アップデート、既知の問題の修正、新機能を適用して、サポートされている Kubernetes バージョンが実行されるようにします。アップグレードのタイミングは、メンテナンスの時間枠と除外で制御できます。

クラスタをリリース チャンネルに登録することをおすすめします。これにより、メンテナンスの除外スコープに関して最大限の制御が可能になります。すべてアップグレードするのではなく、特定のタイプのアップグレードを無効にすることも、クラスタ アップグレードのロールアウト シーケンスを使用することもできます。Autopilot クラスタはリリース チャンネルにのみ登録できます。

リリース チャンネルに Standard クラスタを登録しない場合は、選択したノードプールのノードの自動アップグレードを無効にし、ノードプール内のノードのアップグレードを手動で管理します。ただし、クラスタのコントロール プレーンは自動的にアップグレードされ、バージョンがサポート終了になると、リリース チャンネルに登録しているかどうかに関係なく、クラスタのコントロール プレーンとノードが自動的にアップグレードされます。詳細については、リリース チャンネルに登録されているクラスタと登録されていないクラスタの比較をご覧ください。

利用できるチャンネル

次の表に、利用可能なリリース チャンネルのプロパティを示します。各プロパティには、機能の可用性と安定性の間にトレードオフがあります。どのチャンネルから提供されるリリースもサポート対象の GKE リリースであり、一般提供(GA)と見なされます(ただし、個々の機能は必ずしも一般提供とは限りません)。これらのチャンネルの Kubernetes リリースは正式な Kubernetes リリースであり、一般提供とベータ版の両方の Kubernetes API が含まれています。

チャネル 新しい Kubernetes リリースの可用性 このチャネルを使用するタイミング
Rapid アップストリーム オープンソースの一般提供から数週間 Kubernetes の最新リリースをできるだけ早く入手しておくと、一般提供が開始されたときにすぐに新しい GKE 機能を使用できます。クラスタは、パッチ バージョンが常に最新に保たれるように頻繁に更新され、新しい Kubernetes 機能が提供されます。Rapid チャンネルに登録したクラスタは一般提供バージョンを使用しますが、Rapid チャンネルを使用して本番前環境で新しい Kubernetes バージョンと API をテストすることをおすすめします。
Regular(デフォルト) Rapid でのリリースから 2~3 か月後 一般提供後の早い段階で GKE と Kubernetes の新機能を使用できます。ただし、より長い期間かけて認定されたバージョンに限られます。機能の可用性とリリースの安定性のバランスが取れているため、ほとんどのユーザーにおすすめです。
Stable Regular でのリリースから 2~3 か月後 新機能よりも安定性を優先します。GKE は、Rapid チャンネルと Regular チャンネルで検証された後、このチャンネルの変更と新しいバージョンをロールアウトします。これにより、検証により多くの時間をかけることができます。
Extended Regular チャンネルに合わせて このチャンネルを使用して長期サポートを利用すると、クラスタをできるだけ長くマイナー バージョンで維持することができます。詳しくは、Extended チャンネルで長期サポートを利用するをご覧ください。
チャンネルなし(この設定はおすすめしません)。 Regular チャンネルに合わせて このオプションはおすすめしません。コントロール プレーンとノードは、Regular チャンネルと Stable チャンネルに合わせて自動アップグレードされます。ノードプール レベルでノードの自動アップグレードを無効にする必要がある場合は、この構成オプションを使用できます。または、リリース チャンネルを使用して、クラスタレベルでノードの自動アップグレードを無効にすることもできます。詳細については、リリース チャンネルに登録されているクラスタと登録されていないクラスタの比較をご覧ください。

クラスタをリリース チャンネルに登録すると、そのクラスタは GKE リリース スケジュールの「自動アップグレード」列に示されている日付以降に自動的にアップグレードされます。

Rapid チャンネルに登録されたバージョンは、クラスタでの安定性が確認されると、Regular チャンネルに昇格します。最終的には、優先度の高いアップデートのみを提供する Stable チャンネルに昇格します。昇格はそれぞれ、そのバージョンを実行しているクラスタで観測されたパフォーマンスに基づいて、段階的な安定性レベルと本番環境の対応状況を表します。

重要なセキュリティ パッチは、クラスタと Google のインフラストラクチャを保護するため、すべてのリリース チャンネルに配信されます。急を要する状況では、GKE により、リリース チャンネルでまだ利用できないバージョンにクラスタが自動アップグレードされることがあります。

チャンネルで利用できるバージョン

各リリース チャンネルには複数のマイナー バージョンがあります。チャンネルで提供されるバージョンは、そのチャンネルの認定基準を満たしています。この利用可能なバージョンのセットには、クラスタ作成のデフォルト バージョンが含まれています。これは、そのチャンネルで利用可能なバージョンのセットから選択されます。リリース チャンネルで使用可能なバージョンを確認するには、リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示するの説明に従って操作します。

  • 新しいパッチのリリースは、すべてのチャンネルで自動アップグレードの対象になる少なくとも 1 週間前から利用可能になります。
  • 新しいマイナー リリースは、次のように利用可能になります。
    • Rapid チャンネルの自動アップグレードの対象になる少なくとも 2 週間前。
    • Regular チャンネルと Stable チャンネルで自動アップグレードの対象になる少なくとも 4 週間前。

本番環境をアップグレードする前に、新しく利用可能になった GKE バージョンをテストできます。たとえば、アップグレードの通知に登録すると、新しく利用可能になったバージョンに関する通知を受け取り、本番環境クラスタの自動アップグレードの対象になる前に本番前環境を新しいバージョンにアップグレードできます。

アップグレードの前に新しいバージョンを検証したり、テストする場合など、クラスタを特定のバージョンにしておく必要がある場合は、メンテナンスの除外を使用することをおすすめします。

マイナー バージョンは、リリース チャンネルで利用可能になってからサポート終了日になるまで、そのリリース チャンネルで新規または既存のクラスタに使用できます。

リリース チャンネルでバージョンが自動アップグレードの対象になった場合

GKE リリースノートには、2024-R33 ノートなどのバージョンの更新で、特定のマイナー バージョンを実行するクラスタの自動アップグレードの新たな対象が記載されています。自動アップグレードの新たな対象が利用可能になると、GKE は特定のクラスタをその新しいバージョンにアップグレードする必要があるかどうかを評価します。GKE は、クラスタに自動アップグレードを妨げるメンテナンス ポリシーやその他の制約があるかどうかを検討します。特別な緊急事態を除き、これらの理由は無視されません。特定のクラスタの自動アップグレードの対象を取得するには、クラスタのアップグレードに関する情報の取得(プレビュー)をご覧ください。

リリース チャンネルで新しいバージョンがクラスタのマイナー バージョンの自動アップグレードの対象になってから 10 日が経過しても、クラスタの自動アップグレードが開始しない場合は、次のいずれかの理由が考えられます。

  • クラスタが一時的に自動アップグレードの対象外になっている。次の原因が考えられます。
    • クラスタが、構成されたメンテナンスの時間枠の期間内でない。
    • クラスタが、メンテナンスの除外の期間中である。
    • 新しいマイナー バージョンで削除される非推奨の Kubernetes 機能がクラスタで使用されているため、自動アップグレードが一時的に停止している。
    • 24 時間以内にクラスタがパッチ バージョンに自動的にアップグレードされた。
    • 30 日以内にクラスタがマイナー バージョンに自動的にアップグレードされ、自動アップグレードの対象が新しいマイナー バージョンになった。
  • 技術的またはビジネス上の理由で、GKE が新しい自動アップグレードの対象のロールアウトを一時停止した。
    • 新しいバージョンで技術的な問題が見つかった。
    • ブラック フライデーなど、重要なビジネス シーズンが原因で、本番環境がフリーズしている。

デフォルト バージョンとは

リリース チャンネルでクラスタを作成するとき、デフォルトでは、選択したリリース チャンネルのクラスタ作成のデフォルト パッチ バージョンがクラスタで使用されます。ただし、リリース チャンネルでクラスタを作成するときに、使用可能な別のバージョンを指定できます。

リリース チャンネルには、リリース チャンネルで利用可能な複数のマイナー バージョンがあります。デフォルト バージョンは、リリース チャンネルの自動アップグレードの対象の一つになる場合があります。

新しいチャンネルからパッチ バージョンを実行する

リリース チャンネルに記載されている利用可能なパッチ バージョンに加えて、クラスタのリリース チャンネルでマイナー バージョンが利用可能で、gcloud CLI または GKE API を使用している場合は、クラスタが登録されているリリース チャンネルよりも新しいリリース チャンネルのパッチ バージョンを実行できます。

たとえば、Rapid チャンネルと Regular チャンネルで次のバージョンが利用できる場合:

  • Rapid: 1.23.2-gke.700、1.22.4-gke.1500
  • Regular: 1.21.4-gke.400、1.22.1-gke.400

GKE バージョン 1.22.1-gke.400 を実行し、Regular チャンネルに登録されているクラスタは、1.22.4-gke.1500 にアップグレードできますが、マイナー バージョンが異なる 1.23.2-gke.700 にはアップグレードできません。

新しいチャンネルのパッチ バージョンにアップグレードするには、クラスタのコントロール プレーンが同じマイナー バージョンでパッチリリースを実行する必要があります。たとえば、クラスタで 1.21.3-gke.200 を実行している場合は、まず、現在のリリース チャンネル(1.22.1-gke.400)で利用可能なパッチ バージョンにクラスタをアップグレードする必要があります。その後、クラスタを 1.22.4-gke.1500 にアップグレードできます。

また、1.22.4-gke.1500 を実行し、Regular チャンネルに登録されている新しいクラスタを作成することもできます。

GKE は、クラスタが登録されているチャンネルで自動アップグレードの新たな対象が利用可能になるまで、クラスタを新しいチャンネルのパッチ バージョンのままにします。

チャンネルの最新情報を確認する

リリース チャンネルの新機能については、リリースノートをご覧ください。 全体を対象とするリリースノートだけではなく、各リリース チャンネルごとに個別のリリースノートも提供されています。

リリース チャンネル リリースノート
Rapid チャンネル HTML または Atom フィード
Regular チャンネル HTML または Atom フィード
Stable チャンネル HTML または Atom フィード

クラスタに最適なリリース チャンネルを選択する

チャンネルには一般提供版の Kubernetes のみが含まれ、各チャンネルは Kubernetes および GKE リリースの品質レベルと成熟度を表します。次の図は、リリース チャンネルの導入サイクルを示しています。

リリース チャンネルの導入サイクル

この図に示されているように、利用可能なリリース チャンネルは、導入サイクルの途中でアーリー アドプター(Rapid チャンネル)、アーリー マジョリティ(Regular チャンネル)、マジョリティ(Stable チャンネル)などのバージョンを使用します。導入サイクルの最初の部分は、アップストリームの Kubernetes リリースを使用して最新機能をテストするイノベーターです。導入サイクルの最後の部分はレイト マジョリティです。サポート終了が近づいているバージョンを使用しているため、サポート対象バージョンに移行する必要があります。

本番前環境では、新しいバージョンに Rapid チャンネルを使用して、一般提供が開始したらすぐに機能をテストできます。

新しい機能より成熟度が重要となる本番環境のワークロードには、Regular(デフォルト)チャンネルまたは Stable チャンネルを使用することをおすすめします。

  • 新機能を詳しくトラッキングする必要がある場合は、Regular チャンネルの使用を検討してください。このチャンネルでは、Kubernetes OSS バージョンの安定性と鮮度のバランスが保たれます。
  • 要件が成熟度の場合(特に本番環境クラスタの場合)、Stable チャンネルを使用します。

GKE は、クラスタをチャンネルの品質基準に適合する新しいバージョンにアップグレードします。ただし、次の目的のため、クラスタを事前にアップグレードしておくことをおすすめします。

  • アップグレードの制御と業務時間との調整がしやすくなる。
  • 予測がしやすくなる。これは、リリース ターゲットを満たすクラスタ(つまり、次のターゲット バージョンに手動でアップグレードされたクラスタ)の自動アップグレードを GKE がスキップするためです。ノードは、コントロール プレーン バージョンに合わせて、脆弱性やサポートされていないバージョン スキューから保護するために、選択したチャンネルの推奨バージョンに自動的にアップグレードされます。

Extended チャンネルで長期サポートを利用する

GKE は、Extended チャンネルを通じて Kubernetes のマイナー バージョンの長期サポートを提供しています。このチャンネルでは、マイナー バージョンを最大 24 か月間使用できます。14 か月の標準サポート期間が終了すると、クラスタは Extended サポート期間でさらに 10 か月間セキュリティ パッチを受け取ります。

GKE が Extended チャンネルでクラスタを自動的にアップグレードする仕組み

Extended チャンネルに登録されているクラスタの場合、GKE は次の方法でクラスタを自動的にアップグレードします。

  • 標準サポートの期間中: GKE は、Regular チャンネルと同じ頻度で、クラスタを同じマイナー バージョンの新しいパッチ バージョンにアップグレードします。
  • 延長サポートの期間中: GKE は、マイナー バージョンのセキュリティ パッチ アップデートを引き続き提供します。延長サポートの終了の約 2 か月前に、GKE はクラスタを次のマイナー バージョンにアップグレードし始めます。ただし、クラスタで非推奨の機能や API が使用されている場合は除きます。メンテナンスの除外を使用すると、延長サポートの終了までマイナー バージョンのアップグレードを防ぐことができます。
  • 延長サポートの終了時: GKE は、ブロックする問題に関係なく、サポート対象外のマイナー バージョンを実行しているクラスタをすべてアップグレードします。この日付を過ぎたメンテナンスの除外は構成できません。

利用期間と拡張サポート期間中に GKE が提供するアップグレードの詳細については、GKE のマイナー バージョンのライフサイクルをご覧ください。

Extended チャンネルにクラスタを登録する場合の制限事項

Extended チャンネルに登録できるのは、バージョン 1.27 以降を実行している Standard クラスタのみです。クラスタ コントロール プレーンとノードでは、1.27 以降を実行する必要があります。

次の機能を使用する場合は、Extended チャンネルにクラスタを登録できません。

延長サポートの料金

クラスタを Extended チャンネルに登録する場合は、拡張サポートの料金を確認してください。プロジェクトで GKE Enterprise が有効になっている場合、追加料金なしでクラスタを Extended チャンネルに登録できます。また、GKE Standard エディション クラスタの場合は、クラスタが Extended チャンネルに登録され、クラスタのマイナー バージョンが拡張サポート期間に入ると、従量課金が適用されます。

Extended チャンネルのベスト プラクティス

次のシナリオで、Extended チャンネルを使用してマイナー バージョンのアップグレードによる中断を最小限に抑える方法を理解してください。

サポートされているシナリオでは、チャンネルを最大限に活用するため、時間の経過とともに手動での操作が必要になります。次のマイナー バージョンに移行する予定がない場合は、クラスタをチャンネルに登録しないことをおすすめします。GKE は最終的に、他のチャンネルと同じ頻度でクラスタを新しいマイナー バージョンにアップグレードします。クラスタでコストが増加し、最後に新機能が提供される可能性があります。

サポートされているシナリオとサポートされていないシナリオ

サポートされているシナリオとサポートされていないシナリオの詳細については、次の表をご覧ください。詳しくは、長期サポートが必要な場合に Extended チャンネルを使用するをご覧ください。チェックマーク()は、サポートされているシナリオであることを示します。

アップグレード シナリオ サポート対象 概要 マイナー バージョンの変更間隔 手動での対応が必要
マイナー バージョンを長期間維持する アップグレードを妨げる問題を軽減するため、マイナー バージョンのままにします。 平均的な頻度は同じですが、1 つのマイナー バージョンでの中断時間が長くなります。
  • Extended チャンネル間でクラスタを一時的に移動します。
  • 準備ができたら、クラスタを新しいマイナー バージョンに手動でアップグレードします。
マイナー バージョンを年に 1~2 回手動でアップグレードする クラスタ内のワークロードに最適な場合も、マイナー アップグレードの頻度を下げて新しい機能を入手します。 年に 1~2 回。
  • クラスタを新しいマイナー バージョンに手動でアップグレードします。
何もせずに同じ頻度でマイナー アップグレードを受け取る 他のチャンネルと同じ頻度でマイナー バージョンのアップグレードを受け取り、新機能はできるだけ遅く受け取ります。 平均 4 か月ごと
  • サポートされていないバージョンからのマイナー バージョンの自動アップグレードのモニタリング。

リリース チャンネルに登録されていないクラスタ

リリース チャンネルに登録されていないクラスタには制限事項があるため、この構成オプションはおすすめしませんが、リリース チャンネルに Standard クラスタを登録しないことも可能です(「チャンネルなし」、「静的」とも呼ばれます)。個々のノードプールを自動的にはアップグレードできず、代わりに手動でそれらのノードをアップグレードする必要がある場合を除き、このオプションは使用しないでください。クラスタがリリース チャンネルに登録されていない場合は、選択したノードプールでノードの自動アップグレードを無効にすることができます。リリース チャンネルを使用すると、クラスタレベルですべてのノードプールにわたって同じ結果を得ることができます。ただし、リリース チャンネルに登録しているかどうかに関係なく、クラスタのコントロール プレーンはすべて自動的にアップグレードされ、バージョンがサポート終了になると、クラスタのコントロール プレーンとノードが自動的にアップグレードされます。

Standard クラスタ全体またはそのすべてのノードプールの自動アップグレードを避ける必要がある場合は、リリース チャンネルに登録されたクラスタでメンテナンスの除外を使用することをおすすめします。メンテナンスの除外を使用すると、すべてのノードプールのノードの自動アップグレードを無効にできます。一方、クラスタがリリース チャンネルに登録されていない場合は、ノードプール レベルでノードの自動アップグレードを無効にできます。

リリース チャンネルに登録されているクラスタと登録されていないクラスタの比較

次の表で、リリース チャンネルにクラスタを登録する場合と登録しない場合の類似点と違いを確認してください。

機能 リリース チャンネルに登録されているクラスタ リリース チャンネルに登録されていないクラスタ
共有アップグレードの動作
アップグレードのタイミング それぞれのリリース チャンネルに合わせる
  • マイナー バージョンの場合、自動アップグレードの開始日は Stable チャンネルと同じ
  • 利用可能なマイナー バージョン、パッチ自動アップグレード バージョン、デフォルト バージョンは Regular チャンネルと同じ
  • Regular チャンネルで利用可能なマイナー バージョンについては、パッチ バージョンの提供は Rapid チャンネルと同じ
ノードプールの中断の制御
メンテナンスの時間枠 利用可能 利用可能
メンテナンスの除外 使用可能なメンテナンスの除外スコープ:
  • 「アップグレードなし」(30 日間)
  • 「マイナー アップグレードなし」(サポート終了まで)
  • 「マイナー アップグレードまたはノード アップグレードなし」(サポート終了まで)
「アップグレードなし」スコープ(30 日間)に限定
ロールアウト シーケンス フリートベースおよびスコープベースのシーケンスで利用可能 利用不可
長期サポート Extended リリース チャンネルでのみ可能 利用不可
Autopilot 利用可能 利用不可

Rapid チャンネル クラスタとアルファ クラスタの違い

Rapid リリース チャンネルを使用して作成されたクラスタは、アルファ クラスタではありません。以下の点が異なります。

  • リリース チャンネルを使用するクラスタはアップグレード可能です。自動アップグレードが有効であり、無効にはできません。アルファ クラスタはアップグレードできません。
  • リリース チャンネルを使用するクラスタに有効期限はありません。アルファ クラスタは 30 日後に期限が切れます。
  • アルファ版 Kubernetes API は、リリース チャンネルを使用するクラスタでは有効化できません。

次のステップ