Puede actualizar un clúster de Tanzu Kubernetes si cambia la clase de máquina virtual que se utiliza para alojar los nodos del clúster.
Requisitos previos
Esta tarea utiliza el comando kubectl edit tanzukubernetescluster/CLUSTER-NAME
para actualizar el manifiesto del clúster. El comando kubectl edit abre el manifiesto del clúster en el editor de texto definido por las variables de entorno KUBE_EDITOR o EDITOR. Al guardar el archivo, el clúster se actualiza con los cambios. Consulte Especificar un editor de texto predeterminado para Kubectl.
Procedimiento
- Realice la autenticación con clúster supervisor. Consulte Conectarse al clúster supervisor como usuario vCenter Single Sign-On.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- Cambie el contexto al espacio de nombres de vSphere donde se aprovisiona el clúster de Tanzu Kubernetes de destino.
kubectl config use-context SUPERVISOR-NAMESPACE
- Describa el clúster de Tanzu Kubernetes de destino y compruebe la clase de máquina virtual.
kubectl describe tanzukubernetescluster CLUSTER-NAME
Por ejemplo, este clúster utiliza la clase de máquina virtual best-effort-medium:
Spec:
...
Topology:
Control Plane:
Class: best-effort-medium
...
Workers:
Class: best-effort-medium
...
- Enumere y describa las clases de máquina virtual disponibles en el espacio de nombres.
kubectl get virtualmachineclassbindings
Nota: El comando
kubectl get virtualmachineclasses
enumera todas las clases de máquina virtual presentes en el
clúster supervisor. Debido a que debe asociar las clases de máquina virtual con el
espacio de nombres de vSphere, solo puede usar las clases de máquina virtual que están enlazadas al espacio de nombres de destino.
- Ejecute el siguiente comando para editar el manifiesto del clúster.
kubectl edit tanzukubernetescluster/CLUSTER-NAME
- Puede editar el manifiesto si cambia la cadena de
version
y desactiva o anula fullVersion
para evitar un posible error de coincidencia de versiones durante la detección.
Por ejemplo, cambie el uso de la clase de máquina virtual
best-effort-medium
en el manifiesto del clúster para los nodos de trabajo y el plano de control:
spec:
topology:
controlPlane:
class: best-effort-medium
...
workers:
class: best-effort-medium
...
Para usar la clase de máquina virtual
guaranteed-large
para los nodos de trabajo y el plano de control:
spec:
topology:
controlPlane:
class: guaranteed-large
...
workers:
class: guaranteed-large
...
- Guarde los cambios que hizo en el archivo de manifiesto.
Cuando guarde el archivo, kubectl aplicará los cambios al clúster. En segundo plano,
servicio Tanzu Kubernetes Grid aprovisiona las máquinas virtuales del nuevo nodo y reduce la velocidad de las antiguas.
- Compruebe que kubectl notifique el correcto registro de los cambios en el manifiesto.
kubectl edit tanzukubernetescluster/tkgs-cluster-1
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
- Compruebe que el clúster se esté actualizando.
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
- Compruebe que el clúster se haya actualizado.
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