Para cambiar los nodos de clústeres de TKG, especifique la clase de máquina virtual. TKG proporciona clases predeterminadas, y usted puede crear las propias. Para utilizar una clase, asóciela con la instancia de espacio de nombres de vSphere destino y haga referencia a la clase del manifiesto de clúster de TKG.

Acerca de las clases de máquinas virtuales

Una clase de máquina virtual es una solicitud de reservas de recursos para potencia de procesamiento en la máquina virtual (VM), 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.

Clases de máquinas virtuales 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áquinas virtuales 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

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

Para usar una clase de máquina virtual con un clúster de TKG, la clase de máquina virtual debe estar enlazada con el 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 TKG en Supervisor.

Para enumerar las clases de máquina virtual disponibles en el espacio de nombres de vSphere de destino, use el comando kubectl get virtualmachineclassbinding.
Nota: El comando kubectl describe virtualmachineclasses devuelve todas las clases de máquina virtual presentes en Supervisor. Sin embargo, tenga en cuenta que, debido a que solo se pueden usar clases enlazadas para aprovisionar un clúster, este comando es solo informativo.
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.

vSphere with Tanzu admite clases de máquinas virtuales 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 la documentación de los servicios de supervisor para obtener detalles.