Para cambiar nodos del clúster de Tanzu Kubernetes, especifique la clase de máquina virtual. vSphere with Tanzu proporciona clases predeterminadas y puede crear las suyas 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.

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. Consulte Clases de máquinas virtuales predeterminadas para obtener una lista de las clases de máquinas virtuales predeterminadas y sus correspondientes reservas de CPU y 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. Consulte Acerca de las distribuciones de versión de Tanzu Kubernetes.
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 que los recursos se sobreasignen, puede quedarse sin recursos si estableció límites en el espacio de nombres de vSphere donde está aprovisionando el clúster de Tanzu Kubernetes. Si se produce una contención y el plano de control se ve afectado, el clúster puede dejar de ejecutarse. Por este motivo, siempre debe utilizar 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, debe usarlo como mínimo para los nodos del plano de control.

Usar clases de máquinas virtuales

Para usar una clase de máquina virtual con un clúster de Tanzu Kubernetes, 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 las versiones de Tanzu Kubernetes.

Para enumerar las clases de máquina virtual disponibles en el espacio de nombres de vSphere de destino, use el comando kubectl get virtualmachineclassbinding. Para ver todas las clases de máquinas virtuales presentes en el clúster supervisor, ejecute el comando kubectl describe virtualmachineclasses. Sin embargo, tenga en cuenta que, debido a que solo se pueden usar clases enlazadas para aprovisionar un clúster, este último comando es solo informativo. Consulte Flujo de trabajo para aprovisionar clústeres de Tanzu Kubernetes mediante la API v1alpha2 de TKGS.
Nota: El requisito para asociar las clases de máquina virtual con el espacio de nombres de vSphere solo se aplica a clústeres nuevos. Los clústeres de Tanzu Kubernetes existentes que utilizan clases de máquina virtual predeterminadas siguen funcionando sin necesidad de asociación de espacio de nombres.

Clases de máquinas virtuales predeterminadas

La tabla Clases de máquinas virtuales predeterminadas muestra los tipos de clase de máquina virtual predeterminados que se utilizan como tamaños de implementación de máquina virtual 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

Clases de máquinas virtuales personalizadas

vSphere with Tanzu admite clases de máquinas virtuales personalizadas para usarlas con clústeres de Tanzu Kubernetes. 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 Crear una clase de máquina virtual en vSphere with Tanzu.

Editar clases de máquinas virtuales

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 Tanzu Kubernetes existentes no se ven afectados. Los clústeres de Tanzu Kubernetes nuevos utilizarán la definición de clase modificada.
Precaución: Si edita una clase de máquina virtual que está utilizando un clúster de Tanzu Kubernetes 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.