Azure クラスタのバージョンをアップグレードする
このページでは、Azure 版 Anthos クラスタの Kubernetes バージョンをアップグレードする方法について説明します。
前提条件
クラスタの Kubernetes バージョンのアップグレードは、より一般的なクラスタ更新オペレーションの特殊なケースです。クラスタ更新オペレーションの概要については、クラスタの更新ページをご覧ください。クラスタのバージョンをアップグレードするには:
- 現在のバージョンとターゲット バージョンの間のマイナー バージョンごとにアップグレードする必要があります。たとえば、1.20 から 1.22 にアップグレードするには、まず 1.20 から 1.21 にアップグレードし、さらに 1.21 から 1.22 にアップグレードします。
gkemulticloud.googleapis.com/azureClusters.update
の Identity and Access Management 権限が必要です。
Azure 版 Anthos クラスタが更新を実行する方法
クラスタをアップグレードするには、コントロール プレーン ノードを再起動する必要があるため、Azure 版 Anthos クラスタは次の手順で「ローリング アップデート」を実行します。
- 更新するコントロール プレーン インスタンスを 1 つ選択します。Azure 上の Anthos クラスタは、異常なインスタンスがある場合は、正常なインスタンスよりも先に更新します。
- インスタンスを削除します。Azure 上の Anthos クラスタがインスタンスを再作成し、新しい構成でインスタンスが起動します。
- 新しいインスタンスでヘルスチェックを行います。
- ヘルスチェックが成功した場合は、別のインスタンスを選択して、同じ手順を実施します。すべてのインスタンスが再起動または再作成されるまで、このサイクルを繰り返します。ヘルスチェックに失敗した場合、Anthos clusters on Azure はクラスタを
DEGRADED
状態にし、更新を停止します。詳しくは次のセクションをご覧ください。
更新に失敗した場合
更新後は、Azure 版 Anthos クラスタがクラスタでヘルスチェックを実行します。ヘルスチェックに失敗した場合は、クラスタが DEGRADED
とマークされます。クラスタのステータスは、次の Google Cloud CLI コマンドを使用して表示できます。
gcloud container azure clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
以下を置き換えます。
CLUSTER_NAME
: クラスタの名前。GOOGLE_CLOUD_LOCATION
: クラスタを管理する Google Cloud リージョン
アップグレードを実施する
クラスタのバージョンを確認する
クラスタのバージョンをアップグレードする前に、次のコマンドを使用して、リージョンで利用可能なバージョンを確認します。
gcloud container azure get-server-config \
--location=GOOGLE_CLOUD_LOCATION
GOOGLE_CLOUD_LOCATION
は、クラスタを管理する Google Cloud ロケーションに置き換えます。
アップグレード方法を選択する
クラスタ バージョンは、Google Cloud コンソール、Google Cloud CLI、または Anthos Multi-Cloud API を使用してアップグレードできます。コンソールを使用してクラスタをアップグレードする場合は、まずクラスタにログインするための認証方法を選択して構成する必要があります。詳細については、クラスタに接続して認証するをご覧ください。
Console
Google Cloud コンソールで、Anthos の [クラスタ] ページに移動します。
クラスタが存在するクラウド プロジェクトを選択します。
クラスタのリストでクラスタの名前を選択し、サイドパネルで [詳細を表示] を選択します。
[詳細] タブで、
[アップグレード] を選択します。[クラスタの Kubernetes バージョンのアップグレード] ダイアログ ボックスで、アップグレードするバージョンを選択して [完了] をクリックします。クラスタをアップグレードする場合は、すべてのマイナー バージョンをアップグレードする必要があります。
gcloud
クラスタの Kubernetes バージョンをアップグレードするには、次のコマンドを実行します。
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION
以下を置き換えます。
CLUSTER_NAME
: クラスタの名前GOOGLE_CLOUD_LOCATION
: クラスタを管理するサポートされている Google Cloud リージョン(例:us-west1
)。CLUSTER_VERSION
: 新しいサポートされているクラスタ バージョン。
API
API を使用してクラスタを更新するには、Anthos Multi-Cloud API で PATCH
オペレーションを使用します。
cluster_update.json
という名前の JSON ファイルを作成し、次の内容を追加します。{ "controlPlane": { "version": "CLUSTER_VERSION", }, }
以下を置き換えます。
CLUSTER_VERSION
: 新しいサポートされているクラスタ バージョン。クラスタをアップグレードする場合は、すべてのマイナー バージョンをアップグレードする必要があります。
これらの設定は、次のコマンドで Anthos Multi-Cloud API を介して更新します。
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/azureClusters/CLUSTER_ID?update_mask=controlPlane.Version
以下を置き換えます。
ENDPOINT
: Google Cloud サービスのエンドポイントPROJECT_ID
: Google Cloud プロジェクト。GOOGLE_CLOUD_LOCATION
: クラスタを管理するサポートされている Google Cloud リージョン(例:us-west1
)。CLUSTER_ID
: クラスタ ID
詳細については、projects.locations.azureClusters.patch
メソッドのドキュメントをご覧ください。
ノードプールをアップグレードする
クラスタ バージョンをアップグレードした後、ノードプールをアップグレードしてプロセスを完了します。詳細については、ノードプールの更新をご覧ください。
次のステップ
他のクラスタの更新方法を確認する。
更新可能なフィールドの詳細について、
gcloud container azure clusters update
リファレンス ドキュメントで確認する。projects.locations.azureClusters.patch
REST API のドキュメントを確認する。