このドキュメントでは、クラスタをバージョン 1.32 から高度なクラスタに更新またはアップグレードする方法について説明します。
前提条件
gkectlのバージョンは、ターゲット クラスタのバージョンと同じである必要があります。- 必要に応じて、
gkectlをダウンロードするを参照して、サポートされているバージョンのgkectlを入手してください。
- 必要に応じて、
更新またはアップグレードする前に、必ずクラスタを診断してください。
クラスタが推奨機能のみを使用していることを確認します。
更新またはアップグレードを開始する前に、クラスタで高度なクラスタでサポートされていない機能が使用されていないことを確認します。サポートされていない機能が有効になっている場合は、まず update を使用して無効にします。
- 高度なクラスタでは高可用性(HA)ユーザー クラスタが必要ですが、このガイドに沿って HA 以外のユーザー クラスタを HA の高度なクラスタに更新またはアップグレードすることが可能です。
ユーザー クラスタを更新またはアップグレードする前に、管理クラスタを高度なクラスタに更新またはアップグレードしておく必要があります。
管理クラスタを高度なクラスタに更新またはアップグレードする
更新
高度なクラスタの準備をします。
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-cluster次のように置き換えます。
BUNDLE_PATH: バンドル ファイルのパス。このファイルは管理ワークステーションの/var/lib/gke/bundles/にあります。次に例を示します。/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgzADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
管理クラスタ構成ファイルで、
enableAdvancedClusterをtrueに設定します。管理クラスタを高度なクラスタに更新します。
gkectl update admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパスADMIN_CLUSTER_CONFIG: 管理クラスタの構成ファイルのパス。
このコマンドは、管理クラスタ内のすべてのノードを再作成します。
アップグレード
必要に応じて、管理ワークステーションをアップグレードします。
高度なクラスタの準備をします。
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-cluster次のように置き換えます。
BUNDLE_PATH: バンドル ファイルのパス。このファイルは管理ワークステーションの/var/lib/gke/bundles/にあります。次に例を示します。/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgzADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
管理クラスタ構成ファイルで、
enableAdvancedClusterをtrueに設定します。管理クラスタ構成ファイルの
bundlepathフィールドが、アップグレード先のバンドルのパスと一致していることを確認します。管理クラスタを高度なクラスタにアップグレードします。
gkectl upgrade admin \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパスADMIN_CLUSTER_CONFIG: 管理クラスタの構成ファイルのパス。
このコマンドによって、管理クラスタ内のすべてのノードが再作成されます。ロールアウト再作成デプロイ戦略では、ノードは一度に 1 つずつアップグレードされます。ノードのアップグレード中に、VM が削除され、新しいバージョンで再作成されます。
管理クラスタが更新または高度なクラスタに更新またはアップグレードされた後:
既存の非高度なユーザー クラスタは引き続き正常に機能します。
作成できるのは、高度な管理クラスタによって管理される高度なユーザー クラスタのみです。
すべてのユーザー クラスタを早めに高度なクラスタにアップグレードすることをおすすめします。これは、一貫性があり、機能が充実した環境を維持するためです。
ユーザー クラスタを高度なクラスタに更新またはアップグレードする
更新
ユーザー クラスタ コントロール プレーンが高可用性(HA)でない場合:
masterNode.replicasを 1 から 3 に変更します。ユーザー クラスタ コントロール プレーン ノードの静的 IP アドレスを
network.controlPlaneIPBlock.ipsセクションに追加します。
高度なクラスタの準備をします。
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-cluster次のように置き換えます。
BUNDLE_PATH: バンドル ファイルのパス。このファイルは管理ワークステーションの/var/lib/gke/bundles/にあります。次に例を示します。/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgzADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
ユーザー クラスタの構成ファイルで、
enableAdvancedClusterをtrueに設定します。ユーザー クラスタを高度なクラスタに更新します。
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパスUSER_CLUSTER_CONFIG: ユーザー クラスタの構成ファイルのパス
このコマンドを実行すると、ユーザー クラスタ内のすべてのノードが再作成されます。ロールアウト再作成デプロイ戦略では、ノードは一度に 1 つずつ更新されます。ノードの更新中に、VM が削除され、新しい構成で再作成されます。
アップグレード
ユーザー クラスタ コントロール プレーンが高可用性(HA)でない場合:
masterNode.replicasを 1 から 3 に変更します。ユーザー クラスタ コントロール プレーン ノードの静的 IP アドレスを
network.controlPlaneIPBlock.ipsセクションに追加します。
高度なクラスタの準備をします。
gkectl prepare \ --bundle-path BUNDLE_PATH \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --advanced-cluster次のように置き換えます。
BUNDLE_PATH: バンドル ファイルのパス。このファイルは管理ワークステーションの/var/lib/gke/bundles/にあります。次に例を示します。/var/lib/gke/bundles/gke-onprem-vsphere-1.32.0-gke.1085-full.tgzADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
ユーザー クラスタの構成ファイルで、
enableAdvancedClusterをtrueに設定します。ユーザー クラスタの構成ファイルの
gkeOnPremVersionフィールドが、アップグレードのターゲット バージョンと一致することを確認します。ユーザー クラスタを高度なクラスタにアップグレードします。
gkectl upgrade cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG次のように置き換えます。
ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパスUSER_CLUSTER_CONFIG: ユーザー クラスタの構成ファイルのパス
このコマンドを実行すると、ユーザー クラスタ内のすべてのノードが再作成されます。
高度なクラスタに移行した後の主な違い
クラスタを高度なクラスタにアップグレードまたは更新すると、標準クラスタと比較していくつかの重要な違いが生じます。高度なクラスタの主な変更点は次のとおりです。
リソースのロケーション: クラスタとマシンのリソースは、ユーザー クラスタに配置されなくなりました。これらのリソースは、管理クラスタ内にのみ配置されます。
NodeExternalIP: ノードにNodeExternalIPは設定されません。cert-managerのインストール:cert-managerは、高度なクラスタに自動的にインストールされます。クラスタにcert-managerをインストールした場合、高度なクラスタに更新またはアップグレードすると、高度なクラスタ バージョンで上書きされます。
機能の違いの概要については、機能比較表を参照してください。