API de création de VM
Guide complet pour créer des machines virtuelles dans VergeOS, y compris la création de base, les configurations basées sur des recettes, les disques, les périphériques et les interfaces réseau
Ce guide couvre la création de machines virtuelles dans VergeOS, depuis la création de VM de base jusqu'à l'ajout de disques, de périphériques et d'interfaces réseau. L'API VergeOS fournit des points de terminaison complets pour la création de VM et la configuration matérielle.
Étape: Création de VM (1 sur 4) Entrée: identifiants API, informations du cluster, spécifications de la VM Sortie: clé VM (42) + clé machine (54) Suivant: Utilisez les clés pour la gestion de l'alimentation Étapes suivantes courantes:
Mise sous tension de la VM →
Gestion de l'alimentation de la VMConfigurer les paramètres →
Configuration de la VMOpérations avancées →
Opérations avancées de la VM
Ce document aide pour
"Comment créer une VM via l'API"
"Ajouter des disques lors de la configuration de la VM"
"Attacher des périphériques GPU/PCI aux VM"
"Création de VM avec cloud-init"
"Comprendre les clés VM vs machine"
"Configurer des interfaces réseau pour de nouvelles VM"
"Provisionnement de VM basé sur des recettes"
"Automatisation de la création en masse de VM"
"Déploiement de VM en infrastructure as code"
Référence rapide
Endpoints principaux
Créer la VM:
POST /api/v4/vmsAjouter un disque:
POST /api/v4/machine_drivesAjouter un périphérique:
POST /api/v4/machine_devicesAjouter une NIC:
POST /api/v4/machine_nics
Paramètres clés
name: identifiant de VM (obligatoire)cluster: ID du cluster ciblemachine: ID de machine issu de la création de VM (pour l'ajout de matériel)resource_group: UUID pour le passage de périphérique
Authentification
Étapes suivantes
Après la création de la VM → Gestion de l'alimentation (Gestion de l'alimentation de la VM)
Référence rapide de l'API
Créer la VM
POST
/api/v4/vms
Renvoie les deux
Création initiale
Ajouter un disque
POST
/api/v4/machine_drives
clé machine
Matériel
Ajouter un périphérique
POST
/api/v4/machine_devices
clé machine
Passage GPU/PCI
Ajouter une NIC
POST
/api/v4/machine_nics
clé machine
Interface réseau
Mise sous tension
POST
/api/v4/vm_actions
clé VM
Contrôle
Vérifier l'état
GET
/api/v4/machine_status/{id}
clé machine
Surveiller
Index de dépannage
409 Conflit: Le nom de la VM existe déjà, déjà en cours d'exécution, autorisation refusée
400 Mauvaise requête: Paramètres invalides, champs obligatoires manquants, JSON invalide
507 Stockage insuffisant: Niveau plein, réduisez la taille, choisissez un autre niveau
403 Interdit: Permissions de la clé API, accès au cluster refusé
404 Introuvable: ID de cluster invalide, source de média manquante, groupe de ressources invalide
422 Entité non traitable: Interface de disque invalide, type de média non pris en charge
Prérequis
Identifiants API VergeOS valides avec des permissions de gestion des VM
Compréhension des concepts VergeOS : clusters, vnets, sources de média et groupes de ressources
Connaissances de base des principes de l'API REST et du formatage JSON
Authentification
Toutes les opérations de création de VM nécessitent une authentification via :
Clé API: Inclure dans le
Authorizationen-tête sous forme deBearer YOUR_API_KEYAuthentification de base: Nom d'utilisateur et mot de passe pour les sessions interactives
Jeton de session: Pour les intégrations web
Création de VM basique
POST /api/v4/vms
Description: Crée une nouvelle machine virtuelle avec la configuration spécifiée.
Paramètres de requête:
name
chaîne
Oui
Nom de VM unique
description
chaîne
Non
Description de la VM
cluster
chaîne
Non
ID du cluster cible (chaîne numérique)
ram
entier
Non
RAM en Mo (par défaut : 1024)
cpu_cores
entier
Non
Nombre de cœurs CPU (par défaut : 1)
guest_agent
chaîne
Non
Activer l'agent invité ("true"/"false")
console_pass_hash
chaîne
Non
Hash du mot de passe de la console (chaîne vide si non utilisé)
video
chaîne
Non
Type d'adaptateur vidéo (virtio, std, cirrus, etc.)
rtc_base
chaîne
Non
Paramètre de base RTC (utc, heure locale)
uefi
chaîne
Non
Activer le démarrage UEFI ("true"/"false")
Exemple du corps de la requête:
Exemple de réponse:
Champs de réponse:
location
chaîne
Point de terminaison API de la VM créée
dbpath
chaîne
Chemin de base de données de l'enregistrement de la VM
$row
entier
Numéro de ligne de base de données
$key
chaîne
ID de VM (utilisé pour les appels API suivants)
response.machine
chaîne
ID de machine (utilisé pour les disques, les NIC et les périphériques)
Réponses d'erreur:
400 Mauvaise requête: Paramètres de configuration invalides409 Conflit: Le nom de la VM existe déjà403 Interdit: Autorisations insuffisantes
Clé VM vs clé machine
clé VM (par ex., "42") : à utiliser pour les paramètres de VM comme le CPU, la RAM, la console
clé machine (par ex., "54") : à utiliser pour le matériel comme les disques, les NIC et les périphériques
Vous obtenez les deux clés dans la réponse de création de VM
Création de VM basée sur des recettes
VergeOS prend en charge la création complexe de VM à l'aide de recettes qui incluent des disques, des interfaces réseau et des périphériques.
VM complète avec configuration de recette
Ajout de disques
Les disques doivent être créés séparément après la création de la VM à l'aide du point de terminaison des disques machine.
POST /api/v4/machine_drives
Paramètres de requête:
machine
chaîne
Oui
ID de machine issu de la création de VM
name
chaîne
Non
Nom du disque
media
chaîne
Non
Type de média (disk, cdrom, import, clone, efidisk)
interface
chaîne
Non
Interface du disque (virtio-scsi, ide, ahci, etc.)
disksize
entier
Non
Taille du disque en octets (pour les nouveaux disques)
preferred_tier
chaîne
Non
Niveau de stockage (1-5)
media_source
chaîne
Non
ID du média source (pour import/clone/cdrom)
show_pt
chaîne
Non
Remplacer le niveau préféré ("true"/"false") - remplace le niveau par défaut de la source de média
Création d'un disque de démarrage
Exemple de réponse:
Ajout d'un CD-ROM/ISO
Exemple de réponse:
Importation depuis une source de média
Ajout de périphériques (GPU, passage PCI, etc.)
POST /api/v4/machine_devices
Description: Attache des périphériques matériels comme des GPU, des périphériques PCI, des périphériques USB ou un TPM à une machine virtuelle.
Paramètres de requête:
machine
chaîne
Oui
ID de machine
resource_group
chaîne
Oui
UUID du groupe de ressources pour le périphérique
settings_args
objet
Non
Paramètres spécifiques au périphérique (objet vide pour le passage de base)
GPU en passage PCI
Exemple de réponse:
Recherche des groupes de ressources
Le resource_group paramètre identifie le périphérique matériel spécifique à attacher. Utilisez ces points de terminaison pour trouver les UUID des groupes de ressources disponibles :
GET /api/v4/resource_groups- Périphériques matériels généraux (GPU, périphériques PCI, USB, etc.)GET /api/v4/node_nvidia_vgpu_devices- Périphériques NVIDIA vGPU spécifiquement
Recherche des périphériques disponibles
Ajout d'interfaces réseau
POST /api/v4/machine_nics
Paramètres de requête:
machine
chaîne
Oui
ID de machine
vnet
chaîne
Oui
ID du réseau virtuel (clé du réseau cible)
name
chaîne
Non
Nom de la NIC
interface
chaîne
Non
Type d'interface NIC (virtio, e1000, etc.)
enabled
booléen
Non
État d'activation de la NIC
Exemple:
Exemple de réponse:
Exemple complet de création de VM
Voici un flux de travail complet pour créer une VM avec des disques, des périphériques et des interfaces réseau :
Mis à jour
Ce contenu vous a-t-il été utile ?