リリース チャンネルを使用する


プラットフォーム管理者は、クラスタに特定のリリース チャンネルを選択して、GKE がクラスタを自動的にバージョンにアップグレードし、機能の可用性と安定性のバランスが取れた状態を維持できるようにします。リリース チャンネルの詳細については、リリース チャンネルについてをご覧ください。

GKE は、すべての Autopilot クラスタをリリース チャンネルに登録します。Standard クラスタは、デフォルトでリリース チャンネルに登録されます。すべてのクラスタモードで、特定のリリース チャンネルを選択できます。Standard クラスタの場合は、クラスタをリリース チャンネルに登録しないように選択できます。

このページでは、リリース チャンネルについて次の操作を行う方法について説明します。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にする。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得する。
  • クラスタを Extended チャンネルに登録する場合は、拡張サポートの料金を確認してください。プロジェクトで GKE Enterprise が有効になっている場合、追加料金なしでクラスタを Extended チャンネルに登録できます。また、GKE Standard エディション クラスタの場合は、クラスタが Extended チャンネルに登録され、クラスタのマイナー バージョンが拡張サポート期間に入ると、従量課金が適用されます。

リリース チャンネルへのクラスタの登録

このセクションでは、新しいクラスタや、リリース チャンネルを使用していない既存のクラスタに特定のリリース チャンネルを選択する方法について説明します。すでにリリース チャンネルに登録されている既存のクラスタのリリース チャンネルを変更することもできます。

新しいクラスタを特定のリリース チャンネルに登録する

デフォルトでは、すべてのクラスタが Regular リリース チャンネルに登録されます。クラスタの作成時にクラスタの特定のリリース チャンネルを選択できます。また、クラスタの作成後にリリース チャンネルを変更することもできます。Autopilot クラスタはリリース チャンネルに登録する必要があります。Standard クラスタは、リリース チャンネルに登録または登録解除できます。Extended チャンネルの場合は、このチャンネルを選択する前に Extended チャンネルで長期サポートを利用するをご覧ください。

新しいクラスタを作成して特定のリリース チャンネルに登録するには、Google Cloud コンソールまたは gcloud CLI を使用します。

コンソール

クラスタモードに応じて、次の手順でクラスタを作成します。

  • Autopilot クラスタの場合:

    1. Autopilot クラスタの作成ページのナビゲーション パネルで、[詳細設定] をクリックします。

      Autopilot クラスタを作成

    2. [リリース チャンネル] プルダウン リストで、クラスタを登録するリリース チャンネルを選択するか、デフォルト値の [Regular チャンネル] のままにします。

  • Standard クラスタの場合:

    1. Standard クラスタの作成ページの [クラスタの基本] セクションで、[リリース チャンネル] サブセクションに移動します。

      Kubernetes クラスタを作成する

    2. [リリース チャンネル] プルダウン リストで、クラスタを登録するリリース チャンネルを選択するか、デフォルト値の [Regular チャンネル] のままにします。

gcloud

Autopilot クラスタを作成して特定のリリース チャネルに登録するには、次のコマンドを実行します。

gcloud container clusters create-auto CLUSTER_NAME \
    --location=COMPUTE_LOCATION
    --release-channel=CHANNEL

Standard クラスタを作成して特定のリリース チャンネルに登録するには、次のコマンドを実行します。

gcloud container clusters create CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --release-channel=CHANNEL

次のように置き換えます。

  • CLUSTER_NAME: 新しいクラスタの名前。
  • CLUSTER_LOCATION: 新しいクラスタの Compute Engine のロケーション
  • CHANNEL: リリース チャンネルのタイプ。rapidregularstable のいずれか。Standard の場合は extended のみ。

指定できるその他のオプションのリストについては、gcloud container clusters create-autogcloud container clusters create のリファレンス ドキュメントをご覧ください。

--cluster-version フラグを使用して、特定のバージョンのクラスタを作成することもできます。リリース チャンネルを指定しない場合、クラスタは、そのバージョンが利用できる最も新しいリリース チャンネルに登録されます。

リリース チャンネルまたはクラスタ バージョンを指定しない場合、クラスタはデフォルト バージョンの Regular リリース チャンネルに登録されます。

既存のクラスタを登録する

クラスタのコントロール プレーンのマイナー バージョンがターゲット リリース チャンネルで使用できる場合は、既存のクラスタをリリース チャンネルに登録できます。クラスタのコントロール プレーンのマイナー バージョンがターゲット リリース チャンネルで使用できるかどうかを確認するには、リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示します。クラスタのコントロール プレーンのバージョンをターゲット リリース チャンネルで使用可能なバージョンに合わせる方法については、新しいリリース チャンネルを選択するをご覧ください。

GKE では、クラスタのリリース チャンネル登録を変更するためにダウンタイムを必要としません。ただし、GKE ではリリース チャンネルごとに異なる自動アップグレードを使用できる場合があります。つまり、変更後に GKE がクラスタを自動的にアップグレードする場合があります。アップグレードのタイミングを制御するには、メンテナンスの時間枠と除外を使用することをおすすめします。

登録するため、ターゲットの CHANNELクラスタ リリース チャンネルを更新します。

クラスタのコントロール プレーンとノードは、登録後すぐには、そのリリース チャンネルのマイナー バージョンの自動アップグレードのターゲットにアップグレードされません。代わりに、GKE の自動アップグレード プロセスにより、段階的にアップグレードされます。特定のクラスタの自動アップグレードのターゲットを取得するには、クラスタのアップグレードに関する情報を取得する(プレビュー)をご覧ください。

リリース チャンネルに登録されておらず、ノードの自動アップグレードが無効になっている既存のクラスタを登録する

リリース チャンネルに登録されていない既存の Standard クラスタがあり、クラスタの 1 つ以上のノードプールでノードの自動アップグレードを無効にしているが、リリース チャンネルの追加機能にアクセスする場合は、メンテナンスの除外を使用して、ノードのアップグレードを防ぐことができます。リリース チャンネルに変更してメンテナンスの除外を使用する場合、ノードプール レベルでノードの自動アップグレードを防止することはできません。クラスタ レベルでのみ防止できます。ただし、ノードプールはいつでも手動でアップグレードできます。

ノードの自動アップグレードを続行しながら、既存のクラスタをリリース チャンネルに登録するには、次の操作を行います。

  1. スコープを「アップグレードなし」にして、メンテナンスの除外を構成します。これは、リリース チャンネルに登録されていないクラスタで使用できる唯一のメンテナンスの除外スコープです。これにより、選択したリリース チャンネルに新たに自動アップグレードの対象となるターゲットがある場合でも、クラスタがすぐに自動アップグレードされる可能性を回避できます。
  2. 既存のクラスタをターゲット リリース チャンネルに登録します。この変更により、GKE はノードプールの設定に次の変更を加えます。
    1. GKE は、この機能が無効になっているノードプールに対してノードの自動アップグレード設定を有効にします。ただし、手順 1 でメンテナンスの除外を構成しているため、ノードは自動的にアップグレードされません。
    2. GKE では、この機能が無効になっているノードプールに対してノードの自動修復が有効になります。ただし、ノードの自動修復を無効にしておきたい場合は、gcloud CLI で再度ノードの自動修復を無効にできます。
  3. スコープを「マイナー アップグレードまたはノード アップグレードなし」にして、メンテナンスの除外を構成します。これにより、コントロール プレーンへのパッチ アップグレードを除くすべてのアップグレードがブロックされます。クラスタがリリース チャンネルに登録されたので、このメンテナンスの除外の範囲を使用できます。この範囲は、クラスタのリリース チャンネルのマイナー バージョンのサポート終了日まで続くことができます。
  4. 前の手順で新しいメンテナンスの除外を追加したので、手順 1 で作成したメンテナンスの除外を削除します。

これらの手順を完了すると、メンテナンス除外を削除するか、ノードのマイナー バージョンがサポート終了になるまで、GKE がノードを自動的にアップグレードしないクラスタが作成されます。

クラスタのリリース チャンネルを確認する

クラスタのリリース チャンネルを確認するには、Google Cloud コンソールまたは gcloud CLI を使用します。

コンソール

  1. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。

    Google Kubernetes Engine に移動

  2. 検査するクラスタの名前をクリックします。

  3. [クラスタの基本] で、[リリース チャンネル] フィールドの値(Regular チャンネルなど)を確認します。

値が「なし」の場合、クラスタはリリース チャンネルに登録されていません。

gcloud

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION --format="value(releaseChannel.channel)"

以下を置き換えます。

出力が空の場合、クラスタはリリース チャンネルに登録されていません。

リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示する

Google Cloud コンソールまたは gcloud CLI を使用して特定のリリース チャンネルで利用可能なバージョンを確認するには、利用可能なバージョンとデフォルトのバージョンを確認するをご覧ください。

クラスタのリリース チャンネルを変更する

コントロール プレーンのマイナー バージョンがターゲット リリース チャンネルで使用できる場合は、クラスタのリリース チャンネルを変更できます。場合によっては、クラスタのコントロール プレーンを使用可能なバージョンにアップグレードまたはダウングレードする必要があります。

クラスタのコントロール プレーン バージョンがターゲット リリース チャンネルで使用できるかどうかを確認するには、リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示します。バージョンは、ターゲット チャンネルで利用可能である必要があります。

  • クラスタのコントロール プレーンのバージョンがターゲット リリース チャンネルですでに利用可能な場合は、新しいリリース チャンネルを選択できます。
  • クラスタのコントロール プレーン バージョンがターゲット リリース チャンネルで使用できない場合は、クラスタのコントロール プレーンを使用可能なバージョンにアップグレードできます。あるいは、ターゲット チャネルに以前のバージョンしか利用できない場合は、クラスタをダウングレードすることができます。ただし、対象バージョンが同じマイナー バージョンからの以前のパッチリリースであることが条件です。

新しいリリース チャンネルを選択するには、目的の CHANNELクラスタ リリース チャンネルを更新します。新しいチャンネルを選択するときにクラスタの自動アップグレードを一時的に無効にするには、新しいチャンネルを選択する前にメンテナンスの除外を構成します。

クラスタがリリース チャンネルで利用できないバージョンを実行しているために、ターゲット リリース チャンネルを選択できない場合は、次の操作を行います。

  1. スコープを「マイナー アップグレードなし」にして、メンテナンスの除外を構成します。
  2. クラスタの Kubernetes マイナー バージョンがターゲット リリース チャンネルで利用可能になるまで待ちます。
  3. ターゲット リリース チャンネルに既存のクラスタを登録します。

または、ターゲット チャンネルに新しいクラスタを作成してワークロードを移行することもできます。

クラスタを Extended チャンネルに変更する

長期サポートを取得して、クラスタをできるだけ長くそのバージョンで維持するには、クラスタを Extended チャンネルに登録します。

Extended チャンネルにクラスタを登録する場合の料金機能の制限事項を確認してください。クラスタで特定の機能が使用されている場合、クラスタを Extended チャンネルに登録することはできません。

拡張チャンネルからクラスタを変更する

延長サポート期間中にクラスタが Extended チャンネルに登録されている場合、クラスタは他のチャンネルでサポートされていないマイナー バージョンを引き続き実行できます。マイナー バージョンがサポートされていない拡張チャンネルからクラスタを変更する場合は、次の手順を実施する必要があります。

  1. 次の 2 つの手順を完了します。順序はどちらでも構いません。
    1. ターゲット リリース チャンネルで利用可能な標準サポート期間のマイナー バージョンにクラスタを手動でアップグレードします。
    2. サポートされている新しいマイナー バージョンの標準サポート終了日を超える終了日を持つメンテナンスの除外を削除するか、変更します。
  2. クラスタのリリース チャンネルを更新する

クラスタのリリース チャンネルを更新する

クラスタのリリース チャンネルを変更するには、Google Cloud コンソールまたは gcloud CLI を使用します。

コンソール

  1. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。

    Google Kubernetes Engine に移動

  2. 検査するクラスタの名前をクリックします。

  3. [クラスタの基本] の [リリース チャンネル] フィールドで、 をクリックします。

  4. [リリース チャンネル] プルダウンで、ターゲット リリース チャンネルを選択します。

  5. [バージョンのアップグレード中にダウンタイムが発生する可能性があることを理解しました] を選択して、警告を受け入れます。

  6. [変更を保存] をクリックします。

gcloud

既存のクラスタのリリース チャンネル プロパティを変更します。

gcloud container clusters update CLUSTER_NAME \
  --release-channel CHANNEL

以下を置き換えます。

  • CLUSTER_NAME: クラスタの名前。
  • CHANNEL: ターゲット リリース チャンネル(rapidregularstable のいずれか。Standard の場合は extended または None のみ)。

リリース チャンネルの登録を解除する

Standard クラスタをリリース チャンネルから登録解除することはできますが、リリース チャンネルに登録されているクラスタと登録されていないクラスタの比較 を確認して、リリース チャンネルに登録した場合とのトレードオフを把握することを強くおすすめします。

この操作は、Google Cloud コンソール、gcloud CLI、または Kubernetes Engine API で実行できます。また、Standard クラスタの作成時にリリース チャンネルにクラスタを登録しないように指定することもできます。リリース チャンネルから Autopilot クラスタの登録を解除することはできません。

コンソール

  1. Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。

    Google Kubernetes Engine に移動

  2. 検査するクラスタの名前をクリックします。

  3. [クラスタの基本] の [リリース チャンネル] フィールドで、 をクリックします。

  4. プルダウン メニューから [静的バージョン] を選択します。

  5. [バージョンのアップグレード中にダウンタイムが発生する可能性があることを理解しました] を選択して、警告を受け入れます。

  6. [変更を保存] をクリックします。

gcloud

クラスタのリリース チャンネルを None の値に更新します。

gcloud container clusters update CLUSTER_NAME \
  --release-channel None

API

クラスタを作成または更新するときに、"releaseChannel": { "channel": UNSPECIFIED} を指定します。

リリース チャンネルに登録されていないクラスタを特定する

リリース チャンネルに登録されていない GKE Standard クラスタがあり、すべてのノードプールでノードの自動アップグレードが有効になっている場合は、クラスタをリリース チャンネルに登録することをおすすめします。GKE は、Recommender サービスを通じて分析情報と推奨事項とともにこのガイダンスを提供します。このガイダンスは、常にリリース チャンネルに登録されている Autopilot クラスタには適用されません。

リリース チャンネルに登録されていないクラスタを確認するには、次のいずれかの方法を使用します。

  • Google Cloud コンソールを使用する
  • gcloud CLI または Recommender API を使用して、CLUSTER_RELEASE_CHANNEL_UNSPECIFIED Recommender サブタイプを指定します。

手順については、分析情報と推奨事項を表示する方法をご覧ください。

この推奨事項を実装するには、手順に沿って既存のクラスタを登録します。この推奨事項を実装するかどうかについて詳しくは、リリース チャンネルについてをご覧ください。リリース チャンネルに登録されているクラスタと登録されていないクラスタの機能の比較については、リリース チャンネルに登録されているクラスタと登録されていないクラスタの比較をご覧ください。

次のステップ