API zur VM-Erstellung
Vollständige Anleitung zum Erstellen virtueller Maschinen in VergeOS, einschließlich grundlegender Erstellung, rezeptbasierter Konfigurationen, Laufwerke, Geräte und Netzwerkschnittstellen
Dieser Leitfaden behandelt das Erstellen virtueller Maschinen in VergeOS, von der grundlegenden VM-Erstellung bis zum Hinzufügen von Laufwerken, Geräten und Netzwerkschnittstellen. Die VergeOS-API bietet umfassende Endpunkte für VM-Erstellung und Hardwarekonfiguration.
Stufe: VM-Erstellung (1 von 4) Eingabe: API-Zugangsdaten, Cluster-Infos, VM-Spezifikationen Ausgabe: VM-Schlüssel (42) + Maschinen-Schlüssel (54) Weiter: Verwenden Sie die Schlüssel für die Energieverwaltung Häufige nächste Schritte:
VM einschalten →
VM-EnergieverwaltungEinstellungen konfigurieren →
VM-KonfigurationErweiterte Vorgänge →
Erweiterte VM-Vorgänge
Dieses Dokument hilft bei
"Wie man eine VM über die API erstellt"
"Laufwerke während der VM-Einrichtung hinzufügen"
"GPU-/PCI-Geräte an VMs anhängen"
"VM-Erstellung mit Cloud-Init"
"VM- und Maschinen-Schlüssel verstehen"
"Netzwerkschnittstellen für neue VMs einrichten"
"Rezeptbasierte VM-Bereitstellung"
"Automatisierung der massenhaften VM-Erstellung"
"VM-Bereitstellung als Code"
Kurzreferenz
Primäre Endpunkte
VM erstellen:
POST /api/v4/vmsLaufwerk hinzufügen:
POST /api/v4/machine_drivesGerät hinzufügen:
POST /api/v4/machine_devicesNIC hinzufügen:
POST /api/v4/machine_nics
Wichtige Parameter
name: VM-Kennung (erforderlich)cluster: Ziel-Cluster-IDmachine: Maschinen-ID aus der VM-Erstellung (für Hardware-Ergänzungen)resource_group: UUID für Geräte-Passthrough
Authentifizierung
Nächste Schritte
Nach der VM-Erstellung → Energieverwaltung (VM-Energieverwaltung)
API-Kurzreferenz
VM erstellen
POST
/api/v4/vms
Gibt beide zurück
Erste Erstellung
Laufwerk hinzufügen
POST
/api/v4/machine_drives
Maschinen-Schlüssel
Hardware
Gerät hinzufügen
POST
/api/v4/machine_devices
Maschinen-Schlüssel
GPU-/PCI-Passthrough
NIC hinzufügen
POST
/api/v4/machine_nics
Maschinen-Schlüssel
Netzwerkschnittstelle
Einschalten
POST
/api/v4/vm_actions
VM-Schlüssel
Steuerung
Status prüfen
GET
/api/v4/machine_status/{id}
Maschinen-Schlüssel
Überwachen
Index zur Fehlerbehebung
409 Konflikt: VM-Name existiert, läuft bereits, Berechtigung verweigert
400 Ungültige Anfrage: Ungültige Parameter, fehlende Pflichtfelder, ungültiges JSON
507 Unzureichender Speicher: Tier voll, Größe reduzieren, anderen Tier wählen
403 Verboten: API-Schlüssel-Berechtigungen, Clusterzugriff verweigert
404 Nicht gefunden: Ungültige Cluster-ID, fehlende Medienquelle, ungültige Ressourcengruppe
422 Nicht verarbeitbare Entität: Ungültige Laufwerkschnittstelle, nicht unterstützter Medientyp
Voraussetzungen
Gültige VergeOS-API-Zugangsdaten mit Berechtigungen zur VM-Verwaltung
Verständnis der VergeOS-Konzepte: Cluster, Vnets, Medienquellen und Ressourcengruppen
Grundkenntnisse der REST-API-Prinzipien und JSON-Formatierung
Authentifizierung
Alle VM-Erstellungsvorgänge erfordern eine Authentifizierung entweder über:
API-Schlüssel: In den
AuthorizationHeader alsBearer YOUR_API_KEYBasisauthentifizierung: Benutzername und Passwort für interaktive Sitzungen
Sitzungstoken: Für webbasierte Integrationen
Grundlegende VM-Erstellung
POST /api/v4/vms
Beschreibung: Erstellt eine neue virtuelle Maschine mit der angegebenen Konfiguration.
Anfrageparameter:
name
string
Ja
Eindeutiger VM-Name
description
string
Nein
VM-Beschreibung
cluster
string
Nein
Ziel-Cluster-ID (numerische Zeichenkette)
ram
ganze Zahl
Nein
RAM in MB (Standard: 1024)
cpu_cores
ganze Zahl
Nein
Anzahl der CPU-Kerne (Standard: 1)
guest_agent
string
Nein
Gast-Agent aktivieren ("true"/"false")
console_pass_hash
string
Nein
Konsolen-Passwort-Hash (leere Zeichenkette, falls nicht verwendet)
video
string
Nein
Videoadaptertyp (virtio, std, cirrus usw.)
rtc_base
string
Nein
RTC-Basiseinstellung (utc, localtime)
uefi
string
Nein
UEFI-Start aktivieren ("true"/"false")
Beispiel für den Anfragekörper:
Beispiel für die Antwort:
Antwortfelder:
location
string
API-Endpunkt für die erstellte VM
dbpath
string
Datenbankpfad für den VM-Datensatz
$row
ganze Zahl
Datenbankzeilennummer
$key
string
VM-ID (für nachfolgende API-Aufrufe verwendet)
response.machine
string
Maschinen-ID (für Laufwerke, NICs, Geräte verwendet)
Fehlerantworten:
400 Ungültige Anfrage: Ungültige Konfigurationsparameter409 Konflikt: VM-Name existiert bereits403 Verboten: Unzureichende Berechtigungen
Rezeptbasierte VM-Erstellung
VergeOS unterstützt die komplexe VM-Erstellung mithilfe von Rezepten, die Laufwerke, Netzwerkschnittstellen und Geräte enthalten.
Vollständige VM mit Rezeptkonfiguration
Laufwerke hinzufügen
Laufwerke müssen nach der VM-Erstellung separat über den Endpunkt für Maschinenlaufwerke erstellt werden.
POST /api/v4/machine_drives
Anfrageparameter:
machine
string
Ja
Maschinen-ID aus der VM-Erstellung
name
string
Nein
Laufwerksname
media
string
Nein
Medientyp (disk, cdrom, import, clone, efidisk)
interface
string
Nein
Laufwerkschnittstelle (virtio-scsi, ide, ahci usw.)
disksize
ganze Zahl
Nein
Datenträgergröße in Bytes (für neue Datenträger)
preferred_tier
string
Nein
Speicher-Tier (1–5)
media_source
string
Nein
Quellmedien-ID (für Import/Clone/CDROM)
show_pt
string
Nein
Bevorzugtes Tier überschreiben ("true"/"false") – überschreibt das Standard-Tier der Medienquelle
Ein Boot-Laufwerk erstellen
Beispiel für die Antwort:
CDROM/ISO anhängen
Beispiel für die Antwort:
Importieren aus Medienquelle
Geräte hinzufügen (GPU, PCI-Passthrough usw.)
POST /api/v4/machine_devices
Beschreibung: Bindet Hardwaregeräte wie GPUs, PCI-Geräte, USB-Geräte oder TPM an eine virtuelle Maschine an.
Anfrageparameter:
machine
string
Ja
Maschinen-ID
resource_group
string
Ja
UUID der Ressourcengruppe für das Gerät
settings_args
Objekt
Nein
Gerätespezifische Einstellungen (leeres Objekt für grundlegenden Passthrough)
PCI-Passthrough-GPU
Beispiel für die Antwort:
Verfügbare Geräte finden
Netzwerkschnittstellen hinzufügen
POST /api/v4/machine_nics
Anfrageparameter:
machine
string
Ja
Maschinen-ID
vnet
string
Ja
Virtuelle Netzwerk-ID (Schlüssel des Zielnetzwerks)
name
string
Nein
NIC-Name
interface
string
Nein
NIC-Schnittstellentyp (virtio, e1000 usw.)
aktiviert
boolesch
Nein
Aktivierter Zustand der NIC
Beispiel:
Beispiel für die Antwort:
Vollständiges Beispiel für die VM-Erstellung
Hier ist ein vollständiger Ablauf zum Erstellen einer VM mit Laufwerken, Geräten und Netzwerkschnittstellen:
Zuletzt aktualisiert
War das hilfreich?