プラットフォーム管理者は、クラスタに特定のリリース チャンネルを選択して、GKE がクラスタを自動的にバージョンにアップグレードし、機能の可用性と安定性のバランスが取れた状態を維持できるようにします。リリース チャンネルの詳細については、リリース チャンネルについてをご覧ください。
GKE は、すべての Autopilot クラスタをリリース チャンネルに登録します。Standard クラスタは、デフォルトでリリース チャンネルに登録されます。すべてのクラスタモードで、特定のリリース チャンネルを選択できます。Standard クラスタの場合は、クラスタをリリース チャンネルに登録しないように選択できます。
このページでは、リリース チャンネルについて次の操作を行う方法について説明します。
- 特定のリリース チャンネルにクラスタを登録する。
- クラスタのリリース チャンネルを確認する。
- リリース チャンネルのデフォルト バージョンと使用可能なバージョンを確認する
- クラスタのリリース チャンネルを変更する
- リリース チャンネルからクラスタの登録を解除する。
始める前に
始める前に、次の作業が完了していることを確認してください。
- Google Kubernetes Engine API を有効にする。 Google Kubernetes Engine API の有効化
- このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、
gcloud components update
を実行して最新のバージョンを取得する。
リリース チャンネルにクラスタを登録する
このセクションでは、新しいクラスタや、リリース チャンネルを使用していない既存のクラスタに特定のリリース チャンネルを選択する方法について説明します。すでにリリース チャンネルに登録されている既存のクラスタのリリース チャンネルを変更することもできます。
新しいクラスタを特定のリリース チャンネルに登録する
デフォルトでは、すべてのクラスタが Regular リリース チャンネルに登録されます。クラスタの作成時にクラスタの特定のリリース チャンネルを選択できます。また、クラスタの作成後にリリース チャンネルを変更することもできます。Autopilot クラスタはリリース チャンネルに登録する必要があります。Standard クラスタは、リリース チャンネルに登録または登録解除できます。
新しいクラスタを作成して特定のリリース チャンネルに登録するには、Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
クラスタモードに応じて、次の手順でクラスタを作成します。
Autopilot クラスタの場合:
Autopilot クラスタの作成ページのナビゲーション パネルで、[詳細設定] をクリックします。
[リリース チャンネル] プルダウン リストで、クラスタを登録するリリース チャンネルを選択するか、デフォルト値の [Regular チャンネル] のままにします。
Standard クラスタの場合:
Standard クラスタの作成ページの [クラスタの基本] セクションで、[リリース チャンネル] サブセクションに移動します。
[リリース チャンネル] プルダウン リストで、クラスタを登録するリリース チャンネルを選択するか、デフォルト値の [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
: リリース チャンネルのタイプ。rapid
、regular
、stable
のいずれか。
指定できるその他のオプションのリストについては、gcloud container clusters create-auto
と gcloud container clusters create
のリファレンス ドキュメントをご覧ください。
--cluster-version
フラグを使用して、特定のバージョンのクラスタを作成することもできます。リリース チャンネルを指定しない場合、クラスタは、そのバージョンが利用できる最も新しいリリース チャンネルに登録されます。
リリース チャンネルまたはクラスタ バージョンを指定しない場合、クラスタはデフォルト バージョンの Regular リリース チャンネルに登録されます。
既存のクラスタを登録する
クラスタのコントロール プレーンのマイナー バージョンがターゲット リリース チャンネルで使用できる場合は、既存のクラスタをリリース チャンネルに登録できます。クラスタのコントロール プレーンのマイナー バージョンがターゲット リリース チャンネルで使用できるかどうかを確認するには、リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示します。クラスタのコントロール プレーンのバージョンをターゲット リリース チャンネルで使用可能なバージョンに合わせる方法については、新しいリリース チャンネルを選択するをご覧ください。
GKE では、クラスタのリリース チャンネル登録を変更するためにダウンタイムを必要としません。ただし、GKE ではリリース チャンネルごとに異なる自動アップグレードを使用できる場合があります。つまり、変更後に GKE がクラスタを自動的にアップグレードする場合があります。アップグレードのタイミングを制御するには、メンテナンスの時間枠と除外を使用することをおすすめします。
登録するため、ターゲットの CHANNEL
にクラスタ リリース チャンネルを更新します。
クラスタのリリース チャンネルを確認する
クラスタのリリース チャンネルを確認するには、Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
検査するクラスタの名前をクリックします。
[クラスタの基本] で、[リリース チャンネル] フィールドの値(Regular チャンネルなど)を確認します。
値が「なし」の場合、クラスタはリリース チャンネルに登録されていません。
gcloud
gcloud container clusters describe CLUSTER_NAME \ --location=COMPUTE_LOCATION --format="value(releaseChannel.channel)"
以下を置き換えます。
CLUSTER_NAME
: クラスタの名前。COMPUTE_LOCATION
: クラスタの Compute Engine のロケーション。
出力が空の場合、クラスタはリリース チャンネルに登録されていません。
リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示する
Google Cloud コンソールまたは gcloud CLI を使用して特定のリリース チャンネルで利用可能なバージョンを確認するには、利用可能なバージョンとデフォルトのバージョンを確認するをご覧ください。
クラスタのリリース チャンネルを変更する
コントロール プレーンのマイナー バージョンがターゲット リリース チャンネルで使用できる場合は、クラスタのリリース チャンネルを変更できます。場合によっては、クラスタのコントロール プレーンを使用可能なバージョンにアップグレードまたはダウングレードする必要があります。
クラスタのコントロール プレーン バージョンがターゲット リリース チャンネルで使用できるかどうかを確認するには、リリース チャンネルのデフォルト バージョンと使用可能なバージョンを表示します。バージョンは、ターゲット チャンネルで利用可能である必要があります。
- クラスタのコントロール プレーンのバージョンがターゲット リリース チャンネルですでに利用可能な場合は、新しいリリース チャンネルを選択できます。
- クラスタのコントロール プレーン バージョンがターゲット リリース チャンネルで使用できない場合は、クラスタのコントロール プレーンを使用可能なバージョンにアップグレードできます。あるいは、ターゲット チャンネルに以前のバージョンしか利用できない場合は、クラスタをダウングレードできます。ただし、ターゲット バージョンが同じマイナー バージョンからの以前のパッチリリースであることが条件です。
新しいリリース チャンネルを選択するには、ターゲットの CHANNEL
にクラスタ リリース チャンネルを更新します。新しいチャンネルを選択するときにクラスタの自動アップグレードを一時的に無効にするには、新しいチャンネルを選択する前にメンテナンスの除外を構成します。
クラスタがリリース チャンネルで利用できないバージョンを実行しているために、ターゲット リリース チャンネルを選択できない場合は、次の操作を行います。
- スコープを「マイナー アップグレードなし」にして、メンテナンスの除外を構成します。
- クラスタの Kubernetes マイナー バージョンがターゲット リリース チャンネルで利用可能になるまで待ちます。
- ターゲット リリース チャンネルに既存のクラスタを登録します。
または、ターゲット チャンネルに新しいクラスタを作成してワークロードを移行することもできます。
クラスタのリリース チャンネルを更新する
クラスタのリリース チャンネルを変更するには、Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
検査するクラスタの名前をクリックします。
[クラスタの基本] の [リリース チャンネル] フィールドで、edit をクリックします。
[リリース チャンネル] プルダウンで、ターゲット リリース チャンネルを選択します。
[バージョンのアップグレード中にダウンタイムが発生する可能性があることを理解しました] を選択して、警告を受け入れます。
[変更を保存] をクリックします。
gcloud
既存のクラスタのリリース チャンネル プロパティを変更します。
gcloud container clusters update CLUSTER_NAME \ --release-channel CHANNEL
次のように置き換えます。
CLUSTER_NAME
: クラスタの名前。CHANNEL
: ターゲット リリース チャンネル(rapid
、regular
、stable
のいずれか。Standard の場合はNone
のみ)。
リリース チャンネルの登録を解除する
Standard クラスタをリリース チャンネルから登録解除することはできますが、クラスタをリリース チャンネルに登録しない場合をよく理解し、リリース チャンネルに登録した場合とのトレードオフを把握することを強くおすすめします。
この操作は、Google Cloud コンソール、gcloud CLI、または Kubernetes Engine API で実行できます。また、Standard クラスタの作成時にリリース チャンネルにクラスタを登録しないように指定することもできます。リリース チャンネルから Autopilot クラスタの登録を解除することはできません。
コンソール
Google Cloud コンソールで Google Kubernetes Engine のページに移動します。
検査するクラスタの名前をクリックします。
[クラスタの基本] の [リリース チャンネル] フィールドで、edit をクリックします。
プルダウン メニューから [静的バージョン] を選択します。
[バージョンのアップグレード中にダウンタイムが発生する可能性があることを理解しました] を選択して、警告を受け入れます。
[変更を保存] をクリックします。
gcloud
クラスタのリリース チャンネルを None
の値に更新します。
gcloud container clusters update CLUSTER_NAME \ --release-channel None
API
クラスタを作成または更新するときに、"releaseChannel": { "channel": UNSPECIFIED}
を指定します。