vSphere with Tanzu ofrece una funcionalidad de servicio de máquina virtual que permite a los ingenieros de desarrollo y operaciones implementar y ejecutar máquinas virtuales, además de contenedores, en un entorno de Kubernetes común y compartido. Puede utilizar el servicio de máquina virtual para administrar el ciclo de vida de las máquinas virtuales en un espacio de nombres. El servicio de máquina virtual administra las máquinas virtuales independientes y las máquinas virtuales que conforman los clústeres de Tanzu Kubernetes Grid.

El servicio de máquina virtual responde a las necesidades de los equipos de desarrollo y operaciones que usan Kubernetes, pero tienen cargas de trabajo basadas en máquinas virtuales existentes que no se pueden colocar en contenedores fácilmente. También ayuda a los usuarios a reducir la sobrecarga de administrar una plataforma que no es de Kubernetes junto con una plataforma de contenedor. Al ejecutar contenedores y máquinas virtuales en una plataforma de Kubernetes, los equipos de desarrollo y operaciones pueden consolidar su marca de carga de trabajo en una sola plataforma.

Nota: Además de las máquinas virtuales independientes, el servicio de máquina virtual administra las máquinas virtuales que conforman los clústeres de Tanzu Kubernetes Grid. Para obtener información acerca de los clústeres, consulte la documentación de Usar Tanzu Kubernetes Grid 2 con vSphere with Tanzu .
El servicio de máquina virtual administra las máquinas virtuales independientes y las máquinas virtuales que conforman los clústeres de Tanzu Kubernetes Grid

Cada máquina virtual implementada a través del servicio de máquina virtual funciona como una máquina completa que ejecuta todos los componentes, incluido su propio sistema operativo, sobre la infraestructura de vSphere with Tanzu. La máquina virtual tiene acceso a las redes y al almacenamiento que proporciona Supervisor, y se administra mediante el comando estándar kubectl de Kubernetes. La máquina virtual se ejecuta como un sistema completamente aislado que está a prueba de interferencias de otras máquinas virtuales o cargas de trabajo en el entorno de Kubernetes.

¿Cuándo utilizar máquinas virtuales en una plataforma de Kubernetes?

Por lo general, la decisión de ejecutar cargas de trabajo en un contenedor o en una máquina virtual depende de sus necesidades y objetivos empresariales. Entre los motivos para utilizar las máquinas virtuales aparecen los siguientes:

  • Las aplicaciones no se pueden poner en contenedores.
  • Tiene requisitos de hardware específicos para el proyecto.
  • Las aplicaciones están diseñadas para un kernel personalizado o un sistema operativo personalizado.
  • Las aplicaciones son más adecuadas para ejecutarse en una máquina virtual.
  • Desea tener una experiencia de Kubernetes coherente y evitar la sobrecarga. En lugar de ejecutar conjuntos separados de infraestructura para las plataformas de contenedor y que no son de Kubernetes, puede consolidar estas pilas y administrarlas con un comando de kubectl familiar.

Conceptos del servicio de máquina virtual

Para describir el estado de una máquina virtual que se implementará en un espacio de nombres de vSphere, utilice parámetros como una clase de máquina virtual, una imagen de máquina virtual y una clase de almacenamiento. A continuación, el servicio de máquina virtual reúne estas especificaciones para crear máquinas virtuales independientes o máquinas virtuales que admitan clústeres de Tanzu Kubernetes Grid.

La especificación de máquina virtual combina la clase de máquina virtual, la imagen de máquina virtual y la clase de almacenamiento para crear una máquina virtual
Servicio de VM
El servicio de máquina virtual es un componente de vSphere with Tanzu que proporciona una API declarativa de tipo Kubernetes para la administración de las máquinas virtuales y los recursos de vSphere asociados. El servicio de máquina virtual permite a los administradores de vSphere entregar recursos y proporcionar plantillas, como clases e imágenes de máquinas virtuales, a Kubernetes. Los ingenieros de desarrollo y operaciones pueden utilizar estos recursos para describir el estado deseado de una máquina virtual. Después de que los ingenieros de desarrollo y operaciones especifiquen el estado de la máquina virtual, el servicio de máquina virtual convierte el estado deseado en un estado realizado en función de los recursos de la infraestructura de respaldo.

Una máquina virtual creada a través del servicio de máquina virtual solo se puede administrar desde el espacio de nombres de Kubernetes con los comandos de kubectl. Los administradores de vSphere no pueden administrar la máquina virtual desde vSphere Client, pero pueden mostrar sus detalles y supervisar los recursos que utiliza. Para obtener información, consulte Supervisar máquinas virtuales disponibles en vSphere with Tanzu.

Clase de VM
La clase de máquina virtual es una especificación de máquina virtual que se puede utilizar para solicitar un conjunto de recursos para una máquina virtual. La clase de máquina virtual es controlada y administrada por un administrador de vSphere, y define parámetros como el número de CPU virtuales, la capacidad de memoria y la configuración de reserva. Los parámetros definidos están avalados y garantizados por los recursos de infraestructura subyacentes de un Supervisor.

Un administrador de vSphere puede crear clases de máquinas virtuales personalizadas.

Además, la administración de cargas de trabajo ofrece varias clases de máquinas virtuales predeterminadas. Por lo general, cada tipo de clase predeterminada viene en dos ediciones: garantizada y de mejor esfuerzo. Una edición garantizada reserva por completo los recursos que solicita una especificación de máquina virtual. Una edición de clase de mejor esfuerzo no lo hace, y permite que los recursos se sobreasignen. Por lo general, en un entorno de producción, se utiliza un tipo garantizado.

A continuación, se muestran ejemplos de clases de máquinas virtuales predeterminadas.

Clase CPU Memoria (GB) CPU y memoria reservadas
guaranteed-large 4 16
best-effort-large 4 16 No
guaranteed-small 2 4
best-effort-small 2 4 No

vSphere puede asignar cualquier cantidad de clases de máquinas virtuales existentes para que estén disponibles para los ingenieros de desarrollo y operaciones en un espacio de nombres específico.

La clase de máquina virtual proporciona una experiencia simplificada para los ingenieros de desarrollo y operaciones. Estos no necesitan comprender la configuración completa de cada máquina virtual que planean crear. En su lugar, pueden seleccionar una clase de máquina virtual entre las opciones disponibles, y el servicio de máquina virtual administra la configuración de la máquina virtual.

En el lado de Kubernetes, las clases de máquinas virtuales aparecen como recursos VirtualMachineClass y VirtualMachineClassBinding.

Imagen de máquina virtual
Una imagen de máquina virtual es una plantilla que contiene una configuración de software, que incluye un sistema operativo, aplicaciones y datos.

Cuando los ingenieros de desarrollo y operaciones crean máquinas virtuales, pueden seleccionar imágenes de la biblioteca de contenido asociada con el espacio de nombres. En desarrollo y operaciones, las imágenes se exponen como objetos de VirtualMachineImage.

Un administrador de vSphere puede crear imágenes de máquina virtual que sean compatibles con vSphere with Tanzu y cargarlas en una biblioteca de contenido.

Origen del contenido
Un ingeniero de desarrollo y operaciones utiliza una biblioteca de contenido como origen de las imágenes para crear una máquina virtual. De forma similar a las clases de máquina virtual, un administrador de vSphere asigna bibliotecas de contenido existentes a un espacio de nombres para que estén disponibles para los ingenieros de desarrollo y operaciones.
Clase de almacenamiento
El servicio de máquina virtual utiliza clases de almacenamiento para colocar discos virtuales y asociar volúmenes persistentes de forma dinámica. Para obtener más información sobre las clases de almacenamiento, consulte Usar almacenamiento persistente con cargas de trabajo.
Especificación de la máquina virtual
Los ingenieros de desarrollo y operaciones describen el estado deseado de una máquina virtual en un archivo YAML que une la imagen de la máquina virtual, la clase de máquina virtual y la clase de almacenamiento.
Redes
El servicio de máquina virtual no tiene ningún requisito específico y se basa en la configuración de red disponible en vSphere with Tanzu. El servicio de máquina virtual admite ambos tipos de redes, las redes de vSphere o NSX. Cuando se implementan máquinas virtuales, un proveedor de red disponible asigna direcciones IP estáticas a las máquinas virtuales. Para obtener más información, consulte Redes de supervisor en la documentación de Conceptos y planificación de vSphere with Tanzu .

Servicio de máquina virtual y Supervisor con zonas de vSphere

Cuando se crean máquinas virtuales en un Supervisor de tres zonas, la instancia de máquina virtual se replica en todas las zonas disponibles. Para controlar la colocación de las máquinas virtuales a través del archivo YAML, el equipo de desarrollo y operaciones puede utilizar la etiqueta de Kubernetes topology.kubernetes.io/zone. Por ejemplo, topology.kubernetes.io/zone: zone-a02.

Flujo de trabajo para aprovisionar y supervisar una máquina virtual

Como administrador de vSphere, debe establecer barreras para la directiva y el gobierno de las máquinas virtuales, y entregar recursos de máquina virtual, como clases de máquinas virtuales y plantillas de máquina virtual, a los ingenieros de desarrollo y operaciones. Después de implementar una máquina virtual, puede supervisarla mediante vSphere Client.

Paso Realizado por Descripción
1 Administrador de vSphere Cree bibliotecas de contenido y asígnelas a un espacio de nombres.
2 Administrador de vSphere Cree una clase de máquina virtual y asígnela a un espacio de nombres.

Para usar la vGPU de NVIDIA, configure un dispositivo PCI en la clase de máquina virtual. Consulte Agregar dispositivos PCI a una clase de máquina virtual en vSphere with Tanzu.

3 Ingeniero de desarrollo y operaciones Aprovisione una máquina virtual en un espacio de nombres de Kubernetes.

Para las máquinas virtuales del clúster de Tanzu Kubernetes Grid, consulte Usar Tanzu Kubernetes Grid 2 con vSphere with Tanzu .

4 Administrador de vSphere Supervise las máquinas virtuales implementadas.