此任务介绍了如何通过编辑 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
注: 控制平面节点和工作节点必须具有相同的 TKR 版本。您可以更新所有 TKr 实例,也可以更新控制平面版本并从工作节点中移除 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 会将更改应用到集群。在后台,主管上的虚拟机服务置备新的工作节点。
- 验证 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