クラスタを更新または高度なクラスタにアップグレードする

バージョン 1.32 のクラスタを高度なクラスタに変換するには、バージョン 1.32 でインプレース更新するか、バージョン 1.33 にアップグレードします。高度なクラスタに変換すると、高度なクラスタがデフォルトまたは必須のアーキテクチャであるバージョン 1.33 以降の環境を準備できます。

高度なクラスタに移行した後の主な違い

クラスタを高度なクラスタにアップグレードまたは更新すると、標準クラスタと比較していくつかの重要な違いが生じます。高度なクラスタの主な変更点は次のとおりです。

  • リソースのロケーション: クラスタとマシンのリソースは、ユーザー クラスタに配置されなくなりました。これらのリソースは、管理クラスタ内にのみ配置されます。

  • NodeExternalIP: ノードに NodeExternalIP は設定されません。

  • cert-manager のインストール: cert-manager は、高度なクラスタに自動的にインストールされます。クラスタに cert-manager をインストールした場合、高度なクラスタに更新またはアップグレードすると、高度なクラスタ バージョンで上書きされます。

高度なクラスタと高度でないクラスタの機能の違い

高度なクラスタを有効にすると、一部の機能の動作が、高度なクラスタ以外のクラスタと異なる場合があります。これらの変更の一部は、バージョン 1.31 の高度なクラスタのプレビュー版にのみ適用されます。違いについては、ドキュメント全体で示されています。

次の表に、VMware 用 Google Distributed Cloud ソフトウェアのみでサポートされている機能、高度なクラスタが有効になっている場合の可用性ステータス、動作や使用方法の違いを示します。

機能 / 性能 1.31 高度なクラスタ(プレビュー) 1.32 無効 1.32 高度なクラスタ(GA) 1.33 高度なクラスタ(GA) 相違点
高度なクラスタ プレビュー GA GA GA サポート対象外
トポロジ ドメイン プレビュー プレビュー プレビュー 変更があります。詳細については、トポロジ ドメインを設定すると、関連するクラスタ構成のリファレンスをご覧ください。
リージョン フリート メンバーシップ GA GA GA GA 違いはありません。
バージョン スキュー n+2 管理クラスタ - ユーザー クラスタ GA GA GA 非推奨: 下位バージョンのプレビュー版ユーザー クラスタの管理はサポートされていないため、この機能は使用しないでください。
バージョン スキュー n+2 ノードプール - ユーザー クラスタ GA GA GA 非推奨: 下位バージョンのプレビュー版ユーザー クラスタの管理はサポートされていないため、この機能は使用しないでください。
ノードプール更新の最大サージ設定 プレビュー プレビュー プレビュー プレビュー 違いはありません。
ノード用 cgroup v2 GA GA GA GA 違いはありません。
Dataplane V2 の DSR モード GA GA GA GA 違いはありません。
Controlplane V2 ユーザー クラスタの Binary Authorization GA GA GA GA 違いはありません。
ユーザー管理の管理ワークステーション GA GA GA GA 違いはありません。
StatefulSet CSI 移行ツール GA GA GA GA 違いはありません。
Seesaw から MetalLB への移行 GA GA GA GA 違いはありません。
バンドルされた Ingress を無効にする GA GA GA GA 違いはありません。
管理クラスタの準備済みの認証情報 GA GA GA 違いはありません。
ユーザー クラスタのストレージ ポリシー GA GA GA GA 違いはありません。
管理クラスタのストレージ ポリシー GA GA GA GA 違いはありません。
ノードの自動修復 GA GA GA GA 変更あり: 高度なクラスタが有効になっている場合、自動修復の一環として定期的なヘルスチェックは実行されません。詳細とその他の違いについては、ノードの自動修復とヘルスチェックをご覧ください。
高可用性管理クラスタ GA GA GA GA 違いはありません。
VM ホスト アフィニティ GA GA GA バージョン 1.32.200、1.33 以降の高度なクラスタでサポートされています。トポロジ ドメインを使用する場合は、ユーザー クラスタ構成ファイルの nodePools[i].vsphere.hostgroups ではなく、vSphere インフラストラクチャ構成ファイルの topologyDomains[i].compute.hostGroups でホストグループを構成します。
既存のクラスタからの構成ファイルの生成 GA GA GA GA 変更があります。トポロジ ドメインを使用するクラスタはサポートされていません。
Google Cloud Managed Service for Prometheus システム指標の収集 GA GA GA GA 違いはありません。
ノードプールのアップグレードとロールバック GA GA GA 違いはありません。
非公開レジストリの認証情報の更新 GA GA GA GA 違いはありません。
gkectl による管理クラスタのバックアップと復元 プレビュー プレビュー GA 変更があります。管理クラスタの復元を改善し、ユーザー クラスタのバックアップと復元をサポートするため、gkectl コマンドが更新されました。詳細については、gkectl を使用して高度なクラスタをバックアップして復元するをご覧ください。
ユーザー クラスタのノードプールの自動スケーリング GA GA GA GA 違いはありません。
クラスタの自動サイズ変更 GA GA 違いはありません。
複数の vSphere クラスタのサポート GA GA GA GA 違いはありません。
複数の vSphere データセンターのサポート GA GA GA GA 違いはありません。
クラスタ認証に対する OpenID Connect(OIDC)サポート GA GA GA GA 違いはありません。
CA 証明書のローテーション GA GA GA 違いはありません。
Workload Identity 連携のサポート GA GA GA GA 違いはありません。
LDAP 認証をサポートする GKE Identity Service GA GA GA GA 違いはありません。
ハードウェア セキュリティ モジュール(HSM)を使用しない常時接続のシークレット暗号化 GA GA GA 違いはありません。
gkectl を使用した vCenter CA 証明書の更新 GA GA GA GA 違いはありません。
下り(外向き)NAT ゲートウェイ GA GA GA GA 違いはありません。
管理クラスタのフリート登録 GA GA GA GA 違いはありません。
Windows ノードプールのサポート GA サポートされていません。
Windows ノードプール用の containerd ランタイム GA サポートされていません。
Container-Optimized OS のノードプールのサポート GA GA GA 違いはありません。
クラスタ DNS プロバイダとしての CoreDNS GA GA GA GA 違いはありません。
Google Cloud コンソールのユーザー クラスタのライフサイクル GA 部分的にサポート GA 変更があります。詳細については、高度なクラスタの制限事項をご覧ください。
Container-Optimized OS での管理クラスタノードの作成 GA GA GA 違いはありません。
Pod 用のマルチ NIC 機能 GA GA GA GA 違いはありません。
MetalLB のロードバランサ オプション GA GA GA GA 変更があります。詳細については、MetalLB によるバンドルされたロード バランシングをご覧ください。
gkectl update admin Cloud Logging と Cloud Monitoring の有効化と無効化のサポート GA GA GA GA 違いはありません。
Windows Dataplane V2 のサポート GA サポートされていません。
API 指標の概要 GA GA GA GA 違いはありません。
コンポーネント アクセス サービス アカウント キーの更新用の gkectl update credentials サポート 部分的にサポート GA 部分的にサポート 部分的にサポート 変更があります。高度なクラスタの認証情報の更新でサポートされている内容の詳細については、サービス アカウント キーのローテーションに関する高度なクラスタの違いをご覧ください。
ユーザー クラスタ用に準備された認証情報 GA GA GA 違いはありません。
ユーザー クラスタのアップグレードのドライラン GA GA GA GA 違いはありません。
ユーザー クラスタの非同期アップグレード GA GA GA GA 違いはありません。
管理クラスタのアップグレードのドライラン GA GA 違いはありません。
管理クラスタの非同期アップグレード GA GA GA GA 違いはありません。
ノードプールの順次更新 GA GA GA 違いはありません。
vSphere CSI ドライバを使用したボリューム スナップショットの作成 プレビュー プレビュー プレビュー プレビュー 違いはありません。
Controlplane V2 を有効にしたユーザー クラスタの作成 GA GA GA GA 違いはありません。
SPBM を使用したストレージの移行 GA GA GA GA 違いはありません。
データストアの SPBM への移行 GA GA GA GA 違いはありません。
ユーザー クラスタを Controlplane V2 に移行する GA GA GA GA 違いはありません。
HA 管理クラスタに移行する GA GA GA GA 違いはありません。
F5 BIG-IP の構成設定の移行 GA GA GA GA 違いはありません。
ロードバランサ 部分的にサポート GA GA GA 変更があります。詳細については、関連するロードバランサとクラスタ構成のリファレンス ドキュメントをご覧ください。
プリフライト チェック 部分的にサポート GA GA GA 違いはありません。
ハードウェア要件 GA GA GA GA 変更があります。詳細については、CPU、RAM、ストレージの要件をご覧ください。
スナップショット GA GA GA GA 違いはありません。
非公開レジストリ GA GA GA GA 変更があります。高度なクラスタで非公開レジストリを使用する方法については、高度なクラスタとフルバンドルの制限事項をご覧ください。
IPAM、DNS、NTP、マルチ NIC GA GA GA GA 違いはありません。
クラスタの作成 / アップグレード / 削除 GA GA GA GA 変更があります。詳細については、関連するクラスタ オペレーションのドキュメントと、高度なクラスタの制限事項をご覧ください。
プロキシ GA GA GA GA 違いはありません。
NodePool の更新ポリシー GA GA GA 違いはありません。
診断 GA GA GA 変更があります。vCenter 関連のチェックは、高度なクラスタでは使用できません。onprem-user-cluster-controller コントローラがなくなったため、高度なクラスタでクラスタの問題を診断するガイドは使用できません。バージョン 1.32 の高度なクラスタの場合、gkectl diagnose cluster コマンドは、指定されたクラスタのヘルスチェックを実行します。
vSphere タグと VM の追跡 GA GA 違いはありません。
vSphere ホストグループ GA GA 違いはありません。
ロギングとモニタリング GA GA GA GA 違いはありません。
アンチアフィニティ グループ GA GA GA 違いはありません。
非 HA ユーザー クラスタ コントロール プレーン GA サポートされていません。
gkectl check-config GA GA GA 変更があります。高度なユーザー クラスタでのコマンドのサポートは、1.32.700 以降、1.33.300 以降、1.34.0 以降のバージョンで追加されました。

前提条件

  • gkectl のバージョンは、ターゲット クラスタのバージョンと同じである必要があります。

  • 高度なクラスタに更新またはアップグレードする前に、必ずクラスタを診断してください。

    • 管理クラスタとユーザー クラスタで gkectl diagnose cluster を実行して、クラスタが正常であることを確認します。
    • コマンドでエラーまたは警告が報告された場合は、高度なクラスタへの更新またはアップグレードを開始する前に、それらを解決してください。
  • クラスタが推奨機能のみを使用していることを確認します。

  • 更新またはアップグレードを開始する前に、クラスタで高度なクラスタでサポートされていない機能が使用されていないことを確認します。サポートされていない機能が有効になっている場合は、まず update を使用して無効にします。

    • 高度なクラスタでは高可用性(HA)ユーザー クラスタが必要ですが、このガイドに沿って HA 以外のユーザー クラスタを HA の高度なクラスタに更新またはアップグレードすることが可能です。
  • ユーザー クラスタを更新またはアップグレードする前に、管理クラスタを高度なクラスタに更新またはアップグレードしておく必要があります。

  • cert-manager のインストールについて: cert-manager は、高度なクラスタに自動的にインストールされます。高度なクラスタ以外のクラスタから高度なクラスタに移行すると、統合された cert-manager は、お客様がインストールした cert-manager のバージョンを自動的にオーバーライドします。高度なクラスタに更新またはアップグレードする前に、既存の cert-manager に重要なカスタム構成や機能が適用されていないことを確認してください。

管理クラスタを高度なクラスタに更新またはアップグレードする

更新

  1. クラスタを診断して、正常であることを確認します。

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
  2. 高度なクラスタの準備をします。

    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.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

  3. 管理クラスタ構成ファイルで、enableAdvancedCluster を true に設定します。

  4. 管理クラスタを高度なクラスタに更新します。

    gkectl update admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

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

    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
    • ADMIN_CLUSTER_CONFIG: 管理クラスタの構成ファイルのパス。

    このコマンドは、管理クラスタ内のすべてのノードを再作成します。

アップグレード

  1. 必要に応じて、管理ワークステーションをアップグレードします。

  2. クラスタを診断して、正常であることを確認します。

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    
  3. 高度なクラスタの準備をします。

    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.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

  4. 管理クラスタ構成ファイルで、enableAdvancedCluster を true に設定します。

  5. 管理クラスタ構成ファイルの bundlepath フィールドが、アップグレード先のバンドルのパスと一致していることを確認します。

  6. 管理クラスタを高度なクラスタにアップグレードします。

    gkectl upgrade admin \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config ADMIN_CLUSTER_CONFIG
    

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

    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
    • ADMIN_CLUSTER_CONFIG: 管理クラスタの構成ファイルのパス。

    このコマンドによって、管理クラスタ内のすべてのノードが再作成されます。 Recreate デプロイ戦略をロールアウトすると、ノードが一度に 1 つずつアップグレードされます。ノードのアップグレード中、VM が削除され、新しいバージョンで再作成されます。

管理クラスタが更新または高度なクラスタに更新またはアップグレードされた後:

  • 既存の非高度なユーザー クラスタは引き続き正常に機能します。

  • 作成できるのは、高度な管理クラスタによって管理される高度なユーザー クラスタのみです。

すべてのユーザー クラスタを早めに高度なクラスタにアップグレードすることをおすすめします。これは、一貫性があり、機能が充実した環境を維持するためです。

ユーザー クラスタを高度なクラスタに更新またはアップグレードする

更新

  1. クラスタを診断して、正常であることを確認します。

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME
    
  2. ユーザー クラスタ コントロール プレーンが高可用性(HA)でない場合:

    1. masterNode.replicas を 1 から 3 に変更します。

    2. ユーザー クラスタ コントロール プレーン ノードの静的 IP アドレスを network.controlPlaneIPBlock.ips セクションに追加します。

  3. 高度なクラスタの準備をします。

    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.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

  4. ユーザー クラスタの構成ファイルで、enableAdvancedCluster を true に設定します。

  5. ユーザー クラスタを高度なクラスタに更新します。

    gkectl update cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

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

    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
    • USER_CLUSTER_CONFIG: ユーザー クラスタの構成ファイルのパス

    このコマンドを実行すると、ユーザー クラスタ内のすべてのノードが再作成されます。 Recreate デプロイ戦略をロールアウトすると、ノードが一度に 1 つずつアップグレードされます。ノードの更新中に、VM が削除され、新しい構成で再作成されます。

アップグレード

  1. クラスタを診断して、正常であることを確認します。

    gkectl diagnose cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME
    
  2. ユーザー クラスタ コントロール プレーンが高可用性(HA)でない場合:

    1. masterNode.replicas を 1 から 3 に変更します。

    2. ユーザー クラスタ コントロール プレーン ノードの静的 IP アドレスを network.controlPlaneIPBlock.ips セクションに追加します。

  3. 高度なクラスタの準備をします。

    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.tgz
      
    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

  4. ユーザー クラスタの構成ファイルで、enableAdvancedCluster を true に設定します。

  5. ユーザー クラスタの構成ファイルの gkeOnPremVersion フィールドが、アップグレードのターゲット バージョンと一致することを確認します。

  6. ユーザー クラスタを高度なクラスタにアップグレードします。

    gkectl upgrade cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

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

    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス
    • USER_CLUSTER_CONFIG: ユーザー クラスタの構成ファイルのパス

    このコマンドを実行すると、ユーザー クラスタ内のすべてのノードが再作成されます。

高度なクラスタにバンドルされた cert-manager

cert-manager は、高度なクラスタの必須のシステム管理コンポーネントです。

高度なクラスタを使用せずに cert-manager を使用している場合は、高度なクラスタにアップグレードする前に次の点を確認してください。

  • cert-manager にカスタム構成やフィーチャー トグルがない。
  • cert-manager のバージョンが、バンドルされているバージョンと同じか、1 つ前のバージョンである。

Apigee ハイブリッドの互換性

バンドルされた cert-manager は、Apigee ハイブリッド ワークロードと完全に互換性があります。高度なクラスタにアップグレードすると、既存の cert-manager インストールが置き換えられるという警告がインストーラから表示されることがあります。これは想定された動作であり、システムによって自動的に処理されます。

Apigee ワークロードをスムーズに移行するには、次の操作を行います。

  • アップグレード前に、既存の cert-manager を手動でアンインストールしないでください。
  • カスタマイズを元に戻す: GitOps を使用して cert-manager を管理している場合、または cert-manager デプロイにカスタム構成を適用している場合は、アップグレード前にこれらのカスタマイズを元に戻すか、同期を一時停止して、構成のずれやアップグレードの一時停止を回避する必要があります。

機能と制限

バンドルされた cert-manager では、次のことができます。

  • Issuer リソースと ClusterIssuer リソースを作成、編集する。
  • 発行者と標準発行者タイプを参照する証明書リソースを作成して編集する。
  • cert-manager が使用する標準の Kubernetes リソースを作成、編集する。
  • API キーを含む Kubernetes Secret を作成し、発行者で参照します。
  • 特定の HTTP-01 または DNS-01 ソルバーを使用するように発行者を構成します。

バンドルされた cert-manager では、次のものをカスタマイズできません。

  • deployment または helm の値を設定します。
  • cert-manager バイナリにコマンドライン引数またはフラグを追加します。
  • cert-manager Pod のリソース上限またはノードセレクタを変更します。
  • cert-manager ソフトウェアのインストール ロジックを変更します。
  • 試験運用版機能を有効にする。
  • cert-manager コントロール プレーン Pod を特定のインフラストラクチャ ノードで強制的に実行する。

バンドルされた cert-manager を使用できない特定の制約がある場合は、Google Cloud サポートに連絡して、高度な構成オプションについてサポートを受けてください。

バンドル版

次の表に、VMware 用 Google Distributed Cloud(ソフトウェアのみ)の各バージョンにバンドルされている cert-manager のバージョンを示します。

VMware 用 Google Distributed Cloud(ソフトウェアのみ)の概要 バンドルされた cert-manager のバージョン
1.32 1.17
1.33 1.18
1.34 1.19