Procédure Pour: utilisateurs, développeurs

Créer une machine virtuelle

Créez une machine virtuelle à partir d'une image cloud ou avec un disque vide dans l'assistant de la console, ainsi qu'avec la ligne de commande ou l'API.

Créer une machine virtuelle crée son disque sur un datastore, enregistre la machine dans un dossier de l'inventaire et, si vous le demandez, la met sous tension. Vous avez besoin d'un datastore avec suffisamment d'espace libre. Pour une machine créée à partir d'une image, le fichier image se trouve lui aussi sur un datastore : téléversez-le d'abord, voir Fichiers sur un datastore. L'assistant propose les images aux formats qcow2, img, raw et vmdk.

Dans la console

  1. Dans l'inventaire, sélectionnez un cluster, un hôte ou un dossier de machines virtuelles et sélectionnez Nouvelle machine virtuelle. L'assistant Nouvelle machine virtuelle s'ouvre avec sept étapes.
  2. Nom et dossier : saisissez le Nom et choisissez le Dossier. Le nom compte de 1 à 80 caractères, sans /, \ ni %, et c'est aussi le nom d'hôte de l'invité.

    Assistant Nouvelle machine virtuelle, étape Nom et dossier (Agrandir)
  3. Calcul : choisissez un cluster dans Cluster ou hôte pour que Kyvernon place la machine, ou un hôte pour la placer vous-même.

    Assistant Nouvelle machine virtuelle, étape Calcul avec l'hôte ou le cluster (Agrandir)
  4. Stockage : choisissez le Datastore et la Contenu du disque :

    • Partir d’une image cloud copie une image cloud vers le nouveau disque. Choisissez le Datastore de l’image, le Dossier de l’image et l'Image. Lorsque la liste est vide ou illisible, saisissez le Chemin de l’image. Sous Copie de l’image, choisissez Clone lié (prêt en quelques secondes, l'image doit rester, et elle doit se trouver sur le datastore du disque) ou Clone complet (une copie indépendante).
    • Disque vide crée un disque vierge. Sous Support d’installation, vous pouvez choisir une image ISO qui est attachée comme lecteur de CD, afin que la machine s'installe à partir de celle-ci.

    Définissez la Taille du disque (GiB), de 1 à 65 536 Gio. Le disque est en allocation dynamique : il occupe de l'espace au fur et à mesure que l'invité écrit.

    Assistant Nouvelle machine virtuelle, étape Stockage avec le datastore et l'image cloud (Agrandir)
  5. Matériel : définissez les Processeurs virtuels (1 à 256), la Mémoire (GiB) (0,25 à 4 096 Gio) et l'Système d’exploitation invité. Choisissez le Micrologiciel, UEFI ou BIOS. Secure Boot et TPM virtuel nécessitent UEFI, et un TPM virtuel nécessite un hôte qui propose swtpm.

    Assistant Nouvelle machine virtuelle, étape Matériel avec les processeurs et la mémoire (Agrandir)
  6. Réseau : choisissez le Réseau de la première carte réseau. Seconde carte réseau avec adresse IP publique ajoute une seconde carte avec une adresse publique : choisissez son réseau, un Pool IP et, facultativement, une Adresse IPv4 libre. Voir Adresses publiques.

    Assistant Nouvelle machine virtuelle, étape Réseau avec la carte réseau (Agrandir)
  7. Personnalisation de l’invité : pour les images avec cloud-init, laissez Personnaliser l’invité avec cloud-init sélectionné, saisissez les Clés publiques SSH et le Mot de passe de l’invité, et facultativement vos propres user-data cloud-init. Les clés et le mot de passe sont tous deux obligatoires tant que cette option est sélectionnée. Voir Personnalisation de l'invité. Désactivez-la pour une image sans cloud-init et connectez-vous par la console.

    Assistant Nouvelle machine virtuelle, étape Personnalisation de l'invité avec l'utilisateur, les clés et le mot de passe (Agrandir)
  8. Vérification : vérifiez le récapitulatif, laissez Mettre sous tension après la création sélectionné si la machine doit démarrer, et sélectionnez Créer.

    Assistant Nouvelle machine virtuelle, étape Vérification avant la création de la machine virtuelle (Agrandir)

La fermeture de l'assistant demande s'il faut abandonner les paramètres saisis jusqu'ici.

Résultat

Le volet des tâches affiche la création et la mise sous tension, et la page de la nouvelle machine s'ouvre lorsqu'elles se terminent. Avec une seconde carte publique, la console crée d'abord la machine, attribue ensuite l'adresse et ajoute le bloc IPv6 à la configuration de l'invité, et ne la met sous tension qu'ensuite. Lorsque l'adresse ne peut pas être attribuée, la machine reste hors tension et la console en indique la raison. Attribuez une adresse dans l'onglet Réseaux et mettez la machine sous tension.

Première machine virtuelle parcourt les mêmes étapes avec une image cloud Debian.

Automatisation

Avec la CLI

kyvernon vm create prend le dossier, un fichier JSON décrivant la machine et les fichiers de disque à créer d'abord. Les identifiants proviennent de kyvernon inventory : group-v... pour le dossier, resgroup-... pour le groupe de ressources, datastore-... et network-.... Écrivez la spécification dans web-01.json :

JSON
{
  "name": "web-01",
  "instance_uuid": "8b5f6d1e-2c3a-4e55-9a6f-0d7e1c2b3a49",
  "resource_pool": "resgroup-1",
  "config": {
    "num_cpus": 2,
    "memory_mib": 4096,
    "guest_id": "debian12_64Guest",
    "firmware": "uefi",
    "disks": [
      {"key": 2000, "capacity_bytes": 21474836480, "datastore": "datastore-1",
       "path": "web-01/web-01.qcow2", "thin": true}
    ],
    "nics": [
      {"key": 4000, "network": "network-1", "mac_address": "52:54:00:12:34:56",
       "model": "virtio", "connected": true}
    ]
  }
}

instance_uuid est un nouvel UUID et mac_address une nouvelle adresse en minuscules. Créez la machine avec son disque copié depuis une image du même datastore :

Shell
kyvernon vm create --folder <folder> --spec web-01.json --host <host> --wait \
  --create-disk '{"datastore":"datastore-1","path":"web-01/web-01.qcow2",
    "sizeBytes":21474836480,"sourcePath":"images/debian-12-genericcloud-amd64.qcow2"}'

--firmware bios ou --firmware efi remplace le micrologiciel du fichier. Secure Boot et un TPM virtuel nécessitent UEFI. Sans sourcePath, le disque est vide, et "linked": true crée un clone lié de l'image. sourceDatastore désigne le datastore de l'image lorsqu'il diffère de la cible. Sans --host, la machine est placée sur le premier hôte connecté du cluster du groupe de ressources. Elle reste hors tension jusqu'à ce que vous exécutiez kyvernon vm power-on <id>.

Avec l'API

POST /v1/vms prend les mêmes données :

JSON
{
  "folderId": "group-v5",
  "host": "host-1",
  "spec": {"name": "web-01", "instance_uuid": "8b5f6d1e-2c3a-4e55-9a6f-0d7e1c2b3a49",
           "resource_pool": "resgroup-1", "config": {"num_cpus": 2, "memory_mib": 4096}},
  "createDisks": [{"datastore": "datastore-1", "path": "web-01/web-01.qcow2",
                   "sizeBytes": 21474836480, "sourcePath": "images/debian-12-genericcloud-amd64.qcow2"}],
  "idempotencyKey": "8b5f6d1e-2c3a-4e55-9a6f-0d7e1c2b3a49"
}

Chaque entrée de createDisks correspond à un disque de spec.config.disks (même datastore et même chemin). La réponse contient la tâche à suivre, et une nouvelle tentative avec le même idempotencyKey renvoie la même tâche. guestAgent: true ajoute un extrait cloud-init qui installe et démarre l'agent invité.

Version 0.1. Dernière modification : 2026-11-14