可以通过更改集群节点使用的存储类来更新 Tanzu Kubernetes 集群。
Tanzu Kubernetes Grid 服务 支持通过更改节点池的 StorageClass
(即更改属性 .spec.topology.controlPlane.storageClass
或属性 .spec.topology.workers.storageClass
)来更新集群。请参见关于 Tanzu Kubernetes Grid 服务 集群更新。
前提条件
此任务使用命令 kubectl edit tanzukubernetescluster/CLUSTER-NAME
更新集群清单。kubectl edit 命令将在您的 KUBE_EDITOR 或 EDITOR 环境变量定义的文本编辑器中打开集群清单。保存文件时,将使用所做更改更新集群。请参见为 Kubectl 指定默认的文本编辑器。
过程
- 向 主管集群 进行身份验证。请参见以 vCenter Single Sign-On 用户的身份连接到 主管集群。
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- 将上下文切换到置备了目标 Tanzu Kubernetes 集群的 vSphere 命名空间。
kubectl config use-context SUPERVISOR-NAMESPACE
- 要确定可用存储类并确定要使用的存储类,请运行以下命令。
kubectl describe tanzukubernetescluster CLUSTER-NAME
- 运行以下命令以编辑集群清单。
kubectl edit tanzukubernetescluster/CLUSTER-NAME
- 编辑清单,更改
storageClass
值。
例如,将集群清单从针对控制平面和工作节点使用
silver-storage-class
类:
spec:
topology:
controlPlane:
...
storageClass: silver-storage-class
workers:
...
storageClass: silver-storage-class
更改为针对控制平面和工作节点使用
gold-storage-class
类:
spec:
topology:
controlPlane:
...
storageClass: gold-storage-class
workers:
...
storageClass: gold-storage-class
- 保存对清单文件所做的更改。
保存该文件时,kubectl 会将更改应用到集群。在后台,
Tanzu Kubernetes Grid 服务 将置备新的节点虚拟机并停止旧虚拟机。
- 验证 kubectl 是否报告清单编辑已成功记录。
kubectl edit tanzukubernetescluster/tkgs-cluster-1
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
- 验证集群是否正在更新。
kubectl get tanzukubernetescluster
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-1 3 3 v1.18.5+vmware.1-tkg.1.c40d30d 21h updating
- 验证集群是否已更新。
kubectl get tanzukubernetescluster
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-1 3 3 v1.18.5+vmware.1-tkg.1.c40d30d 22h running