このドキュメントでは、ユーザー クラスタ内のコントロール プレーンと選択したノードプールをアップグレードする方法について説明します。
選択したノードプールのアップグレードは、Ubuntu ノードプールと COS ノードプールではサポートされていますが、Windows ノードプールではサポートされていません。
状況によっては、ユーザー クラスタ内のすべてのノードプールではなく、一部のノードプールをアップグレードしたい場合があります。たとえば、最初にトラフィックが少ないノードプールか、重要度の低いワークロードを実行するノードプールをアップグレードできます。ワークロードが新しいバージョンで正しく実行されることを確認したら、最終的にすべてのノードプールがアップグレードされるまで、追加のノードプールをアップグレードできます。
管理ワークステーションをアップグレードする
管理ワークステーションをアップグレードのターゲット バージョンにアップグレードします。手順については、GKE on VMware のアップグレードをご覧ください。
新しい OS イメージを vSphere にインポートする
gkectl prepare
を実行して OS イメージを vSphere にインポートします。
gkectl prepare \ --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
以下を置き換えます。
TARGET_VERSION: アップグレードのターゲット バージョン
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
利用可能なバージョンを確認する
次のコマンドを実行して、アップグレード可能なバージョンを確認します。
gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG
出力には、現在のバージョンとアップグレード可能なバージョンが表示されます。次に例を示します。
gkectl version: 1.14.0-gke.x current admin cluster version: 1.13.1-gke.35 current user cluster versions: - 1.13.1-gke.35 available admin cluster versions: - 1.13.1-gke.35 available user cluster versions: - 1.13.1-gke.35 - 1.14.0-gke.x
ユーザー クラスタ コントロール プレーンと選択したノードプールをアップグレードする
ユーザー クラスタの作成の手順を実行します。
ユーザー クラスタの構成ファイルで、gkeOnPremVersion
をアップグレードのターゲット バージョンに設定します。アップグレードするノードプールごとに、nodePools.nodePool[i].gkeOnPremVersion
フィールドを削除するか、空の文字列に設定します。
アップグレードしないノードプールごとに、nodePools.nodePool[i].gkeOnPremVersion
を現在のバージョンに設定します。
たとえば、ユーザー クラスタがバージョン 1.13.1-gke.35 で、pool-1
と pool-2
の 2 つのノードプールがあるとします。また、コントロール プレーンと pool-1
を 1.14.0-gke.x にアップグレードするものの、pool-2
をバージョン 1.13.1-gke.35 のままにするとします。
ユーザー クラスタ構成ファイルの一部を次に示します。コントロール プレーンと pool-1
がバージョン 1.14.0-gke.x にアップグレードされるように指定していますが、pool-2
は現在のバージョン 1.13.1-gke.35 のままです。
gkeOnPremVersion: 1.14.0-gke.0 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: 1.13.1-gke.35 cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
ユーザー クラスタをアップグレードするの説明に沿って、アップグレードを続行します。
追加のノードプールをアップグレードする
すべてが pool-1
で正常に動作しており、pool-2
をアップグレードするとします。
ユーザー クラスタの構成ファイルの pool-2
で、gkeOnPremVersion
を削除するか、空の文字列に設定します。
gkeOnPremVersion: 1.14.0-gke.0 nodePools: - name: pool-1 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 3 osImageType: ubuntu_containerd - name: pool-2 gkeOnPremVersion: "" cpus: 4 memoryMB: 8192 replicas: 5 osImageType: ubuntu_containerd
gkectl update cluster
を実行して変更を適用します。
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
以下を置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
USER_CLUSTER_CONFIG: ユーザー クラスタの構成ファイルのパス
トラブルシューティング
ノードプールのアップグレード後に問題が発生した場合は、以前のバージョンにロールバックできます。詳細については、アップグレード後のノードプールのロールバックをご覧ください。