可以透過變更叢集節點所用的儲存區類別來更新 TKG 叢集。

可以透過使用 kubectl edit 命令編輯叢集規格中 storageClass 參數的值來起始 TKG 叢集的輪流更新。
備註: 無法使用 kubectl apply 命令更新已部署的 TKG 叢集。

必要條件

此工作需要使用 kubectl edit 命令。此命令會在 KUBE_EDITOR 或 EDITOR 環境變數所定義的文字編輯器中開啟叢集資訊清單。儲存檔案時,將透過變更來更新叢集。若要為 kubectl 設定編輯器,請參閱 #GUID-104C2238-1D65-402A-85F0-742DAB49AB1A

程序

  1. 使用 主管 進行驗證。
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. 將內容切換到佈建目標工作負載叢集的 vSphere 命名空間
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. 若要判定可用的儲存區類別,並判定要使用的儲存區類別,請執行下列命令。
    kubectl describe tanzukubernetescluster CLUSTER-NAME
  4. 執行下列命令以編輯叢集資訊清單。
    v1alpha3 叢集:
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
    v1beta1 叢集:
    kubectl edit cluster/CLUSTER-NAME
  5. 透過變更 storageClass 值編輯資訊清單。
    例如,對於 v1alpaha3 叢集,將叢集資訊清單從對控制平面和 worker 節點使用 silver-storage-class 類別:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: silver-storage-class
        workers:
          ...      
          storageClass: silver-storage-class
    變更為對控制平面和 worker 節點使用 gold-storage-class 類別:
    spec:
      topology:
        controlPlane:
          ...
          storageClass: gold-storage-class
        workers:
          ...      
          storageClass: gold-storage-class
    同樣,如果已佈建 v1beta1 叢集,請將叢集規格中的 variables.storageclass 值更新為儲存區類別的名稱。
  6. 儲存對資訊清單檔案所做的變更。
    儲存檔案時,kubectl 會將變更套用至叢集。在背景中, Tanzu Kubernetes Grid 會佈建新的節點虛擬機器並停止舊的節點虛擬機器。
  7. 確認 kubectl 是否報告資訊清單編輯已成功記錄。
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    備註: 如果您收到錯誤,或 kubectl 未報告叢集資訊清單已成功編輯,請確保您使用 KUBE_EDITOR 環境變數正確設定了預設文字編輯器。請參閱 #GUID-104C2238-1D65-402A-85F0-742DAB49AB1A
  8. 確認叢集是否已更新。
    v1alpha3 叢集:
    kubectl get tanzukubernetescluster
    v1beta1 叢集:
    kubectl get cluster