API de creación de VM
Guía completa para crear máquinas virtuales en VergeOS, incluida la creación básica, configuraciones basadas en recetas, discos, dispositivos e interfaces de red
Esta guía cubre la creación de máquinas virtuales en VergeOS, desde la creación básica de VM hasta la adición de unidades, dispositivos e interfaces de red. La API de VergeOS proporciona endpoints completos para la creación de VM y la configuración de hardware.
Etapa: Creación de VM (1 de 4) Entrada: credenciales de API, información del clúster, especificaciones de la VM Salida: clave de VM (42) + clave de máquina (54) Siguiente: usa las claves para la gestión de energía Siguientes pasos comunes:
Encender VM →
Gestión de energía de la VMConfigurar ajustes →
Configuración de la VMOperaciones avanzadas →
Operaciones avanzadas de VM
Este documento ayuda con
"Cómo crear una VM mediante la API"
"Cómo agregar unidades durante la configuración de la VM"
"Cómo adjuntar dispositivos GPU/PCI a las VMs"
"Creación de VM con cloud-init"
"Comprender las claves de VM frente a las de máquina"
"Cómo configurar interfaces de red para nuevas VMs"
"Provisionamiento de VM basado en recetas"
"Automatización de creación masiva de VMs"
"Despliegue de VMs como código de infraestructura"
Referencia rápida
Puntos finales principales
Crear VM:
POST /api/v4/vmsAgregar unidad:
POST /api/v4/machine_drivesAgregar dispositivo:
POST /api/v4/machine_devicesAgregar NIC:
POST /api/v4/machine_nics
Parámetros clave
name: identificador de la VM (obligatorio)cluster: ID del clúster de destinomachine: ID de la máquina de la creación de la VM (para añadir hardware)resource_group: UUID para passthrough de dispositivos
Autenticación
Siguientes pasos
Después de crear la VM → Gestión de energía (Gestión de energía de la VM)
Referencia rápida de la API
Crear VM
POST
/api/v4/vms
Devuelve ambas
Creación inicial
Agregar unidad
POST
/api/v4/machine_drives
Clave de máquina
Hardware
Agregar dispositivo
POST
/api/v4/machine_devices
Clave de máquina
passthrough de GPU/PCI
Agregar NIC
POST
/api/v4/machine_nics
Clave de máquina
Interfaz de red
Encendido
POST
/api/v4/vm_actions
clave de VM
Control
Comprobar estado
GET
/api/v4/machine_status/{id}
Clave de máquina
Monitorear
Índice de resolución de problemas
409 Conflicto: el nombre de la VM ya existe, ya está en ejecución, permiso denegado
400 Solicitud incorrecta: parámetros inválidos, faltan campos obligatorios, JSON inválido
507 Almacenamiento insuficiente: nivel lleno, reduce el tamaño, elige un nivel diferente
403 Prohibido: permisos de la clave API, acceso al clúster denegado
404 No encontrado: ID de clúster inválido, falta la fuente de medios, grupo de recursos inválido
422 Entidad no procesable: interfaz de unidad inválida, tipo de medio no compatible
Requisitos previos
Credenciales válidas de la API de VergeOS con permisos de gestión de VM
Comprensión de los conceptos de VergeOS: clústeres, vnets, fuentes de medios y grupos de recursos
Conocimientos básicos de los principios de API REST y del formato JSON
Autenticación
Todas las operaciones de creación de VM requieren autenticación usando una de las siguientes opciones:
Clave API: inclúyela en el
Authorizationencabezado comoBearer YOUR_API_KEYAutenticación básica: nombre de usuario y contraseña para sesiones interactivas
Token de sesión: para integraciones basadas en web
Creación básica de VM
POST /api/v4/vms
Descripción: crea una nueva máquina virtual con la configuración especificada.
Parámetros de la solicitud:
name
cadena
Sí
Nombre único de la VM
description
cadena
No
Descripción de la VM
cluster
cadena
No
ID del clúster de destino (cadena numérica)
ram
entero
No
RAM en MB (predeterminado: 1024)
cpu_cores
entero
No
Número de núcleos de CPU (predeterminado: 1)
guest_agent
cadena
No
Habilitar el agente invitado ("true"/"false")
console_pass_hash
cadena
No
Hash de la contraseña de la consola (cadena vacía si no se usa)
video
cadena
No
Tipo de adaptador de video (virtio, std, cirrus, etc.)
rtc_base
cadena
No
Configuración base del RTC (utc, localtime)
uefi
cadena
No
Habilitar arranque UEFI ("true"/"false")
Ejemplo del cuerpo de la solicitud:
Ejemplo de respuesta:
Campos de respuesta:
location
cadena
Punto final de la API para la VM creada
dbpath
cadena
Ruta de base de datos para el registro de la VM
$row
entero
Número de fila de la base de datos
$key
cadena
ID de la VM (usado para llamadas posteriores a la API)
response.machine
cadena
ID de la máquina (usado para unidades, NIC y dispositivos)
Respuestas de error:
400 Solicitud incorrecta: parámetros de configuración inválidos409 Conflicto: el nombre de la VM ya existe403 Prohibido: permisos insuficientes
Creación de VM basada en recetas
VergeOS admite la creación compleja de VMs usando recetas que incluyen unidades, interfaces de red y dispositivos.
VM completa con configuración de receta
Agregar unidades
Las unidades deben crearse por separado después de crear la VM usando el endpoint de unidades de máquina.
POST /api/v4/machine_drives
Parámetros de la solicitud:
machine
cadena
Sí
ID de la máquina de la creación de la VM
name
cadena
No
Nombre de la unidad
medio
cadena
No
Tipo de medio (disco, cdrom, import, clone, efidisk)
interfaz
cadena
No
Interfaz de la unidad (virtio-scsi, ide, ahci, etc.)
disksize
entero
No
Tamaño del disco en bytes (para discos nuevos)
preferred_tier
cadena
No
Nivel de almacenamiento (1-5)
media_source
cadena
No
ID del medio de origen (para importación/clonación/cdrom)
show_pt
cadena
No
Anular nivel preferido ("true"/"false") - reemplaza el nivel predeterminado de la fuente de medios
Creación de una unidad de arranque
Ejemplo de respuesta:
Adjuntar CDROM/ISO
Ejemplo de respuesta:
Importando desde la fuente de medios
Agregar dispositivos (GPU, passthrough PCI, etc.)
POST /api/v4/machine_devices
Descripción: adjunta dispositivos de hardware como GPU, dispositivos PCI, dispositivos USB o TPM a una máquina virtual.
Parámetros de la solicitud:
machine
cadena
Sí
ID de máquina
resource_group
cadena
Sí
UUID del grupo de recursos para el dispositivo
settings_args
objeto
No
Configuración específica del dispositivo (objeto vacío para passthrough básico)
GPU con passthrough PCI
Ejemplo de respuesta:
Encontrar dispositivos disponibles
Agregar interfaces de red
POST /api/v4/machine_nics
Parámetros de la solicitud:
machine
cadena
Sí
ID de máquina
vnet
cadena
Sí
ID de red virtual (clave de la red de destino)
name
cadena
No
Nombre de la NIC
interfaz
cadena
No
Tipo de interfaz de NIC (virtio, e1000, etc.)
habilitado
booleano
No
Estado habilitado de la NIC
Ejemplo:
Ejemplo de respuesta:
Ejemplo completo de creación de VM
Aquí tienes un flujo de trabajo completo para crear una VM con unidades, dispositivos e interfaces de red:
Última actualización
¿Te fue útil?