vSphere IaaS control plane 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.
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 IaaS control plane. 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.
- Servicio de VM
-
El servicio de máquina virtual es un componente de
vSphere IaaS control plane 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 IaaS control plane.
- 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 Sí best-effort-large
4 16 No guaranteed-small
2 4 Sí 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.
- 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 IaaS control plane y cargarlas en una biblioteca de contenido.
- Biblioteca de 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 o a un clúster para que estén disponibles para los ingenieros de desarrollo y operaciones. El administrador de vSphere también puede hacer que se pueda escribir en la biblioteca de contenido del espacio de nombres. Este permiso adicional permite a los usuarios de desarrollo y operaciones publicar sus imágenes en la biblioteca.
- 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 de Supervisor en vSphere IaaS control plane.
- 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.
- Operador de máquina virtual para Kubernetes
- El operador de máquina virtual permite la administración de máquinas virtuales con una API declarativa de estilo Kubernetes.
- 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 IaaS control plane. 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 Planificación y conceptos del plano de control de IaaS de vSphere.
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 o un Supervisor. |
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 Implementar una máquina virtual con vGPU y otros dispositivos PCI en vSphere IaaS control plane. |
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 Uso del servicio TKG con el plano de control de IaaS de vSphere. |
4 | Administrador de vSphere | Supervise las máquinas virtuales implementadas. |
5 | Ingeniero de desarrollo y operaciones | Publique una imagen de máquina virtual en una biblioteca de contenido. |