Para cambiar nodos del clúster de Servicio TKG, especifique la clase de máquina virtual (VM). La plataforma proporciona clases de VM predeterminadas y es posible crear clases propias. Para utilizar una clase de máquina virtual, puede asociarla con la instancia de espacio de nombres de vSphere de destino y hacer referencia a la clase en el manifiesto del clúster.

Acerca de las clases de máquina virtual

Una clase de máquina virtual es una solicitud de reservas de recursos para potencia de procesamiento en la máquina virtual, incluidas la CPU y la memoria (RAM). Por ejemplo: el tipo de clase de máquina virtual denominado "guaranteed-large" reserva 4 CPU y 16 GB de RAM.
Nota: El tamaño de disco de la máquina virtual se establece mediante la plantilla de OVA, no la definición de clase de máquina virtual. Para versiones de Tanzu Kubernetes, el tamaño de disco es de 16 GB.
Existen dos tipos de reserva para las clases de máquina virtual: garantizada y mejor esfuerzo. La clase garantizada reserva por completo los recursos configurados. Esto significa que, para un clúster determinado, spec.policies.resources.requests coincide con la configuración de spec.hardware. La clase de mejor esfuerzo permite que se genere un compromiso excesivo de los recursos. Para las cargas de trabajo de producción se recomienda utilizar el tipo de clase de máquina virtual garantizada.
Advertencia: Debido a que el tipo de clase de máquina virtual de mejor esfuerzo permite la sobreasignación, es posible quedarse sin recursos si se establecieron límites en el espacio de nombres de vSphere donde está aprovisionando el clúster de TKG. Si se produce una contención y el plano de control se ve afectado, el clúster puede dejar de ejecutarse. Por este motivo, utilice el tipo de clase de máquina virtual garantizada para los clústeres de producción. Si no puede usar el tipo de clase de máquina virtual garantizada para todos los nodos de producción, utilícelo como mínimo para los nodos del plano de control.

Uso de clases de máquinas virtuales con clústeres de Servicio TKG

Para usar una clase de máquina virtual con un clúster de servicio TKG, la clase de máquina virtual debe estar enlazada con la instancia de espacio de nombres de vSphere donde se aprovisiona el clúster. Para ello, asocie la clase con el espacio de nombres de destino. Consulte Configurar un espacio de nombres de vSphere para clústeres de Servicio TKG.

Para enumerar las clases de máquina virtual disponibles en el espacio de nombres de vSphere de destino, use el comando kubectl get virtualmachineclass.
Nota: Si tiene problemas con este comando, consulte Corregir errores de clase de máquina virtual.
Las definiciones de clase de máquina virtual no son inmutables. Todas las clases de máquina virtual se pueden editar, incluidas las definiciones predeterminadas de clases de máquina virtual. Si se edita una clase de máquina virtual, los nodos del clúster de TKG existentes no se ven afectados. Los nuevos clústeres de TKG utilizan la clase modificada.
Precaución: Si edita una clase de máquina virtual que está utilizando un clúster de TKG y, a continuación, escala horizontalmente ese clúster, los nodos nuevos utilizarán la definición de clase editada, pero los nodos existentes usarán la definición de clase inicial, lo que provocará un error de coincidencia de clases.

Clases de máquina virtual predeterminadas

La tabla muestra los tipos de clase de máquina virtual predeterminados que se utilizan como tamaños de implementación para los nodos del clúster de Tanzu Kubernetes.

Para evitar la sobreasignación de recursos, las cargas de trabajo de producción deben utilizar el tipo de clase garantizado. Para evitar quedarse sin memoria, no utilice el tamaño de clase pequeño o muy pequeño para ningún nodo de trabajo en el que implemente cargas de trabajo en cualquier entorno (desarrollo, prueba o producción).

Tabla 1. Clases de máquina virtual predeterminadas
Clase CPU Memoria (GB) CPU y memoria reservadas
guaranteed-8xlarge 32 128
best-effort-8xlarge 32 128 No
guaranteed-4xlarge 16 128
best-effort-4xlarge 16 128 No
guaranteed-2xlarge 8 64
best-effort-2xlarge 8 64 No
guaranteed-xlarge 4 32
best-effort-xlarge 4 32 No
guaranteed-large 4 16
best-effort-large 4 16 No
guaranteed-medium 2 8
best-effort-medium 2 8 No
guaranteed-small 2 4
best-effort-small 2 4 No
guaranteed-xsmall 2 2
best-effort-xsmall 2 2 No

Clases de máquina virtual personalizadas

vSphere IaaS control plane admite clases de máquina virtual personalizadas para usarlas con clústeres de TKG. Una vez que haya definido una clase de máquina virtual personalizada, debe asociarla con el espacio de nombres de vSphere de destino para poder utilizarla con un clúster. Consulte más detalles en la documentación de Servicios de máquina virtual.