此工作說明如何透過編輯 TKG 叢集資訊清單來更新 TKG 叢集的 Tanzu Kubernetes 版本 版本。
可以透過使用
kubectl edit
命令升級
Tanzu Kubernetes 版本 版本來起始 TKGS 叢集的輪流更新。
備註: 無法使用
kubectl apply
命令更新已部署叢集的 TKR 版本。
程序
- 使用 主管 進行驗證。
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- 將內容切換到佈建目標工作負載叢集的 vSphere 命名空間。
kubectl config use-context SUPERVISOR-NAMESPACE
- 取得目標 TKG 叢集和版本。
v1alpha3 叢集:
kubectl get tanzukubernetescluster
v1beta1 叢集:
kubectl get cluster
- 列出可用的 Tanzu Kubernetes 版本。
kubectl get tanzukubernetesreleases
- 執行下列命令以編輯叢集資訊清單。
v1alpha3 叢集:
kubectl edit tanzukubernetescluster/CLUSTER-NAME
v1beta1 叢集:
kubectl edit cluster/CLUSTER-NAME
- 透過更新 Tanzu Kubernetes 版本 字串編輯資訊清單。
例如,對於 v1alpha3 叢集,從 TKR v1.25.7:
topology:
controlPlane:
replicas: 1
storageClass: vsan-default-storage-policy
tkr:
reference:
name: v1.25.7---vmware.3-fips.1-tkg.1
vmClass: guaranteed-large
nodePools:
- name: worker-tkg-pool01
replicas: 3
storageClass: vsan-default-storage-policy
tkr:
reference:
name: v1.25.7---vmware.3-fips.1-tkg.1
vmClass: guaranteed-large
volumes:
- capacity:
storage: 128Gi
mountPath: /var/lib/containerd
name: containerd
變更為 TKR v1.26.5:
topology:
controlPlane:
replicas: 1
storageClass: vsan-default-storage-policy
tkr:
reference:
name: v1.26.5---vmware.2-fips.1-tkg.1
vmClass: guaranteed-large
nodePools:
- name: worker-tkg-pool01
replicas: 3
storageClass: vsan-default-storage-policy
tkr:
reference:
name: v1.26.5---vmware.2-fips.1-tkg.1
vmClass: guaranteed-large
volumes:
- capacity:
storage: 128Gi
mountPath: /var/lib/containerd
name: containerd
備註: 控制平面節點和 worker 節點必須具有相同的 TKR 版本。您可以更新所有 TKr 執行個體,也可以更新控制平面版本並從 worker 節點中移除 TKR 名稱。
例如,對於 v1beta1 叢集,從 TKR v1.25.7:
apiVersion: cluster.x-k8s.io/v1beta1
...
topology:
class: tanzukubernetescluster
version: v1.25.7---vmware.3-fips.1-tkg.1
controlPlane:
replicas: 3
workers:
...
variables:
...
變更為 TKR v1.26.5:
apiVersion: cluster.x-k8s.io/v1beta1
...
topology:
class: tanzukubernetescluster
version: v1.26.5---vmware.2-fips.1-tkg.1
controlPlane:
replicas: 3
workers:
...
variables:
...
- 儲存對資訊清單檔案所做的變更。
儲存檔案時,kubectl 會將變更套用至叢集。在背景中,主管上的虛擬機器服務會佈建新的 worker 節點。
- 確認 kubectl 是否報告資訊清單編輯已成功記錄。
kubectl edit tanzukubernetescluster/tkg-cluster-1
tanzukubernetescluster.run.tanzu.vmware.com/tkg-cluster-1 edited
- 確認叢集是否正在更新。
kubectl get tanzukubernetescluster
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-1 3 3 v1.26.5---vmware.2-fips.1-tkg.1 21h updating
- 確認叢集是否已更新。
kubectl get tanzukubernetescluster
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-1 3 3 v1.26.5---vmware.2-fips.1-tkg.1 22h running