更新叢集或將叢集升級為進階叢集

本文說明如何將叢集從 1.32 版更新或升級至進階叢集

必要條件

  • 更新或升級前,請務必先診斷叢集。

  • 請確保叢集只使用建議功能

  • 開始更新或升級前,請先確認叢集未使用進階叢集不支援的功能。如有任何不支援的功能處於啟用狀態,請先使用 update 停用這些功能。

    • 雖然進階叢集需要高可用性 (HA) 使用者叢集,但您仍可按照本指南,將非 HA 使用者叢集更新或升級為 HA 進階叢集。
  • 您必須先將管理員叢集更新或升級為進階叢集,才能更新或升級任何使用者叢集。

將管理員叢集更新或升級為進階叢集

更新

  1. 準備進階叢集:

    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 檔案的路徑。

  2. 管理員叢集設定檔中,將 enableAdvancedCluster 設為 true

  3. 將管理員叢集更新為進階叢集:

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

    更改下列內容:

    • ADMIN_CLUSTER_KUBECONFIG:管理員叢集 kubeconfig 檔案的路徑。
    • ADMIN_CLUSTER_CONFIG:管理員叢集設定檔的路徑。

    這項指令會重新建立管理叢集中的所有節點。

升級

  1. 視需要升級管理員工作站

  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. 請確認管理員叢集設定檔中的 bundlepath 欄位,與您要升級的套件路徑相符。

  5. 將管理員叢集升級為進階叢集:

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

    更改下列內容:

    • ADMIN_CLUSTER_KUBECONFIG:管理員叢集 kubeconfig 檔案的路徑。
    • ADMIN_CLUSTER_CONFIG:管理員叢集設定檔的路徑。

    這項指令會重新建立管理叢集中的所有節點。

將管理員叢集更新或升級為進階叢集後:

  • 現有的非進階使用者叢集仍會正常運作。

  • 您只能建立由進階管理員叢集管理的進階使用者叢集。

建議您隨後將所有使用者叢集升級為進階叢集,以維持一致且功能完整的環境。

將使用者叢集更新或升級為進階叢集

更新

  1. 如果使用者叢集控制層不具備高可用性 (HA):

    1. masterNode.replicas 從 1 改為 3。

    2. 將使用者叢集控制層節點的靜態 IP 位址新增至 network.controlPlaneIPBlock.ips 區段。

  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 cluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --config USER_CLUSTER_CONFIG
    

    更改下列內容:

    • ADMIN_CLUSTER_KUBECONFIG:管理員叢集 kubeconfig 檔案的路徑。
    • USER_CLUSTER_CONFIG:使用者叢集設定檔的路徑。

    這項指令會重新建立使用者叢集中的所有節點。

升級

  1. 如果使用者叢集控制層不具備高可用性 (HA):

    1. masterNode.replicas 從 1 改為 3。

    2. 將使用者叢集控制層節點的靜態 IP 位址新增至 network.controlPlaneIPBlock.ips 區段。

  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. 確認使用者叢集設定檔中的 gkeOnPremVersion 欄位與升級的目標版本相符。

  5. 將使用者叢集升級為進階叢集:

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

    更改下列內容:

    • ADMIN_CLUSTER_KUBECONFIG:管理員叢集 kubeconfig 檔案的路徑。
    • USER_CLUSTER_CONFIG:使用者叢集設定檔的路徑。

    這項指令會重新建立使用者叢集中的所有節點。