El entorno de ejecución de VM en Google Distributed Cloud es el componente clave para ejecutar cargas de trabajo basadas en máquinas virtuales en GKE en Bare Metal.
¿Qué es el entorno de ejecución de VM en Google Distributed Cloud?
El entorno de ejecución de VM en Google Distributed Cloud es parte de GKE en Bare Metal que te permite ejecutar VM en Kubernetes de la misma manera en que ejecutas contenedores. Con el entorno de ejecución de VM en Google Distributed Cloud, puedes ejecutar cargas de trabajo existentes basadas en VM mientras desarrollas y ejecutas aplicaciones nuevas basadas en contenedores. El entorno de ejecución de VM en Google Distributed Cloud es como el hipervisor en un entorno virtualizado más tradicional.
El entorno de ejecución de VM en Google Distributed Cloud te permite ver y administrar el estado de las VM y recopilar registros de auditoría o consola. El entorno de ejecución de VM en Google Distributed Cloud actúa como herramientas de la consola de administración que se usan en entornos virtualizados más tradicionales.
No estás obligado a modernizar o actualizar las cargas de trabajo existentes basadas en VM para usar el entorno de ejecución de VM en Google Distributed Cloud. Las VM se ejecutan como lo harían en los entornos virtualizados tradicionales, pero se benefician de un solo conjunto de flujos de trabajo y procesos para tus aplicaciones en un clúster de GKE. Cuando estés listo, puedes migrar estas cargas de trabajo basadas en VM a contenedores y seguir usando las mismas herramientas de administración de GKE Enterprise.
Ventajas
El entorno de ejecución de VM en Google Distributed Cloud tiene los siguientes beneficios:
- Capacidad de usar los recursos de VM de manera programática, como cuando usas contenedores.
- Uso eficiente de recursos en contenedores y VMs.
- Administración y operación unificadas para VMs y contenedores.
- Visibilidad y control unificados para el tráfico entre aplicaciones nuevas alojadas en contenedores y apps heredadas basadas en VMs.
- Una experiencia de migración simplificada a las apps alojadas en contenedores o en la nube.
El entorno de ejecución de VM en Google Distributed Cloud te ayuda a migrar tus VM o compilar otras nuevas sobre GKE en Bare Metal.
Diferencias entre el entorno de ejecución de VM en Google Distributed Cloud y KubeVirt
El entorno de ejecución de VM en Google Distributed Cloud se compila en el proyecto de código abierto KubeVirt. Kubevirt se compila de forma específica para Kubernetes y sigue el modelo de API declarativo a fin de usar el modelo de recursos de Kubernetes, los operadores o las definiciones de recursos personalizados. El entorno de ejecución de VM en Google Distributed Cloud integra Kubevirt a tu GKE en Bare Metal para brindar una manera coherente de administrar tus aplicaciones. En esta sección, se describen algunas de las funciones clave del entorno de ejecución de VM en Google Distributed Cloud que no están disponibles en KubeVirt.
Ciclo de vida
Sobre la base de la potencia de la plataforma GKE Enterprise, el entorno de ejecución de VM en Google Distributed Cloud está completamente integrado en la plataforma GKE Enterprise. Puedes instalar, actualizar y desinstalar VM Runtime en Google Distributed Cloud con un comando de la CLI, la API o la consola de Google Cloud. Cuando se usan con almacenamiento compatible, las actualizaciones del clúster de GKE incluyen migración en vivo de cargas de trabajo de VM (vista previa) entre hosts para minimizar posibles interrupciones de cargas de trabajo de VM.
Experiencia de administración respaldada por la nube
VM Runtime on Google Distributed Cloud proporciona una experiencia similar a la nube para la instalación local. Esta experiencia incluye las siguientes primitivas similares a las nubes:
El objeto
VirtualMachineType
permite a los administradores crear tipos de VM predefinidos con configuraciones de CPU y memoria específicas.Los objetos
VirtualMachineDisk
yStorageProfile
agregan compatibilidad con varios discos y administración centralizada de propiedadesStorageClass
.El objeto
Network
habilita las funciones virtuales similares a los interruptores en Kubernetes.
Almacenamiento
El entorno de ejecución de VM en Google Distributed Cloud genera de forma automática un objeto de perfil de almacenamiento, StorageProfile
, para cada StorageClass
en un clúster. Este objeto de perfil nuevo te permite configurar propiedades de StorageClass
para las VMs, incluidas accessMode
y volumeMode
, desde una sola ubicación.
Puedes conectar varios discos a una VM. Puedes conectar un disco existente o crear y adjuntar discos nuevos. El nuevo recurso personalizado VirtualMachineDisk
te permite crear discos en blanco o a partir de imágenes existentes mediante el importador de datos en contenedores (CDI) en paquetes. CDI incluso te permite extraer imágenes de Cloud Storage protegidas con credenciales.
Herramientas de redes
El entorno de ejecución de VM en Google Distributed Cloud amplía la oferta predeterminada de pod-network
de KubeVirt a fin de proporcionar opciones de herramientas de redes más adecuadas para las cargas de trabajo de VM de producción.
El entorno de ejecución de VM en Google Distributed Cloud extiende la pila de red existente que se basa en el framework de la interfaz de red del contenedor (CNI). El entorno de ejecución de VM en Google Distributed Cloud agrega un objeto Network
que habilita capacidades virtuales similares a un interruptor en Kubernetes.
Si bien los complementos de red están disponibles para Kubernetes, requieren su propia instalación, ciclo de vida y administración. Con el entorno de ejecución de VM en Google Distributed Cloud, las VMs listas para usar pueden interactuar con varias interfaces de red de capa 2, incluida la compatibilidad con etiquetas de VLAN, DHCP externo y mucho más. El entorno de ejecución de VM en Google Distributed Cloud también presenta el objeto de interfaces, que habilita la permanencia de las direcciones IP y MAC, incluso si las VM se reinician, migran o se vuelven a crear. La nueva pila de red también se integra en NetworkPolicy
, por lo que puedes usar las primitivas de Kubernetes para controlar el tráfico de la capa 4 entre las VMs.
Observabilidad
El entorno de ejecución de VM en Google Distributed Cloud admite automáticamente la observabilidad de las VM en la consola de Google Cloud. Además del registro del entorno de ejecución de VM en Google Distributed Cloud y el clúster de GKE, los registros de la consola en serie de VM se transmiten de forma automática a Cloud Logging. Tus registros de VM se pueden ver en el Explorador de registros junto con los registros de los contenedores. Puedes ver las métricas de CPU, memoria, disco y red de VM en la consola de Google Cloud. También puedes implementar paneles, alertas e integración con notificaciones mediante los servicios de Google Cloud conocidos.
Administración
La mayoría de las funciones del entorno de ejecución de VM en Google Distributed Cloud están disponibles en la CLI, las APIs y la consola de Google Cloud. Este enfoque flexible admite varios estilos operativos y de desarrolladores. La aplicación de la potencia de la pila de GKE Enterprise,
Config Management y Policy Controller también se pueden usar para implementar
la metodología de GitOps y las políticas detalladas. Por último, las herramientas tradicionales de KubeVirt, como virtctl
, también se extendieron para admitir las capacidades adicionales del entorno de ejecución de VM en Google Distributed Cloud.
Asistencia de GPU
El entorno de ejecución de VM en Google Distributed Cloud te permite habilitar tarjetas de GPU de NVIDIA compatibles en tus VM, lo que habilita el aprendizaje automático y otras cargas de trabajo especializadas.
Comenzar
Para comenzar a usar el entorno de ejecución de VM en Google Distributed Cloud, consulta los siguientes documentos:
- Habilita o inhabilita el entorno de ejecución de VM en Google Distributed Cloud
- Guía de inicio rápido: Crea una VM en GKE en Bare Metal
- Administra el estado de energía de las VMs que usan el entorno de ejecución de VM en Google Distributed Cloud
- Consulta los registros de la consola de las VMs que usan VM Runtime en Google Distributed Cloud