Procédure Pour: utilisateurs, développeurs

Personnalisation de l'invité

Définissez clés SSH, mot de passe et données cloud-init à la création, modifiez l'accès à l'invité et appliquez des profils de personnalisation.

Kyvernon personnalise un invité de deux manières. Pour les images avec cloud-init, les clés SSH, le mot de passe de l'invité, le nom d'hôte et vos propres données utilisateur sont écrits dans la machine virtuelle et appliqués au démarrage. Un profil de personnalisation, appelé spécification dans la console, est un ensemble nommé de paramètres que vous appliquez à une machine hors tension.

Dans la console

À la création, l'étape Personnalisation de l’invité de l'assistant configure l'invité :

  1. Laissez Personnaliser l’invité avec cloud-init sélectionné pour une image avec cloud-init, comme les images Ubuntu, Debian, Rocky Linux ou AlmaLinux. Un invité sans cloud-init n'est pas personnalisé à partir d'ici : connectez-vous par la console et configurez l'accès dans l'invité.
  2. Saisissez les Clés publiques SSH, une clé publique par ligne. Elles vont à l'utilisateur par défaut de l'image, par exemple debian ou ubuntu.
  3. Saisissez un Mot de passe de l’invité de 8 à 256 caractères et répétez-le dans Confirmer le mot de passe de l’invité. Générer en propose un. Votre navigateur hache le mot de passe en hachage crypt SHA-512 avant l'envoi, si bien que Kyvernon ne le détient jamais en clair, et la console ne peut pas l'afficher à nouveau.
  4. Saisissez facultativement des user-data cloud-init. Elles commencent par #cloud-config ou #!. Lorsqu'elles définissent déjà des clés ou un mot de passe, la console vous invite à les garder à un seul endroit.

    Assistant Nouvelle machine virtuelle, étape Personnalisation de l'invité avec l'utilisateur, les clés et le mot de passe (Agrandir)

Le nom de la machine virtuelle devient le nom d'hôte de l'invité.

Pour modifier l'accès plus tard :

  1. Sélectionnez Modifier l’accès invité sous Autres actions. La boîte de dialogue affiche le Nom d’hôte, les Clés publiques SSH et le Mot de passe de l’invité.
  2. Modifiez-les et sélectionnez Appliquer au prochain démarrage. La console réécrit les données cloud-init et définit un nouvel identifiant d'instance, afin que cloud-init applique la modification au prochain démarrage ou cycle d'alimentation. Un invité en marche conserve ses utilisateurs jusque-là.

    Boîte de dialogue d'accès invité avec le nom d'hôte, les clés SSH et le mot de passe de l'invité (Agrandir)

Pour préparer un profil de personnalisation :

  1. Sur la page d'accueil, sélectionnez Profils de personnalisation. La liste affiche chaque spécification avec son système d'exploitation invité, son nom d'hôte et son contenu.

    Liste des profils de personnalisation (Agrandir)
  2. Sélectionnez Nouveau profil.
  3. Saisissez un Nom et choisissez le SE invité, Linux ou Windows. Le nom ne peut plus changer par la suite. Saisissez le Nom d’hôte et, facultativement, le Fuseau horaire, un nom IANA tel que Europe/Brussels.
  4. Pour Linux, définissez le Utilisateur de connexion, le compte qui reçoit le mot de passe et les clés, et facultativement vos propres Données utilisateur et Métadonnées sous Données cloud-init. Pour Windows, définissez le Domaine DNS, le Nom du propriétaire, l'Organisation et facultativement un Fichier de réponses Unattend.
  5. Définissez facultativement le Mot de passe, les Serveurs DNS et, sous Cartes réseau, une adresse statique avec son masque et sa passerelle pour chaque carte, dans l'ordre des cartes de la machine. Sans carte dans la liste, l'invité utilise DHCP. Pour Windows, Domaine ou groupe de travail prend un Joindre le domaine avec Administrateur du domaine et Mot de passe de l’administrateur du domaine, ou un Groupe de travail.
  6. Sélectionnez Créer.

    Nouveau profil de personnalisation avec le nom d'hôte, le domaine, les utilisateurs et les données utilisateur (Agrandir)

    Les mots de passe et le fichier de réponses sont stockés sur le serveur et ne sont plus jamais affichés ; la liste indique seulement qu'ils sont définis. Modifier et Supprimer modifient et suppriment une spécification. Les machines qui ont été personnalisées avec une spécification supprimée conservent leurs paramètres.

Pour appliquer une spécification :

  1. Mettez la machine virtuelle hors tension.
  2. Sélectionnez Personnaliser l’invité sous Autres actions, choisissez la Profil et sélectionnez Appliquer le profil. Les paramètres s'appliquent au prochain démarrage.

    Boîte de dialogue de personnalisation de l'invité avec le profil à appliquer (Agrandir)

Résultat

Au prochain démarrage, l'invité a son nom d'hôte, ses clés et ses utilisateurs. Le récapitulatif affiche le nom d'hôte et les adresses sous Invité dès que l'agent invité les signale.

Automatisation

Avec la CLI

Shell
kyvernon customization create --body-file profile.json
kyvernon customization list
kyvernon customization get <name>
kyvernon customization overwrite <name> --body-file profile.json
kyvernon customization delete <name>
kyvernon vm customize <id> --spec <name> --wait

profile.json contient les paramètres :

JSON
{
  "name": "web-linux",
  "type": "Linux",
  "hostname": "web-01",
  "domain": "corp.example.com",
  "timezone": "Europe/Brussels",
  "nics": [{"ip": "192.0.2.10", "subnetMask": "255.255.255.0", "gateway": "192.0.2.1"}]
}

Un profil peut aussi contenir password, sshUser, dnsServers, dnsSuffixes, userdata et metadata bruts pour Linux, ainsi que fullName, orgName, joinDomain, joinWorkgroup, domainAdmin, domainAdminPassword, domainOu et un document unattend brut pour Windows. Pour proposer l'agent invité lorsqu'une machine virtuelle est créée à partir d'un modèle, interrogez d'abord avec kyvernon vm guest-agent-offer <template-id>. La réponse indique si l'image n'a pas l'agent et fournit l'extrait cloud-init qui l'installe. guestAgent: true dans la requête de création fusionne cet extrait pour vous.

Avec l'API

OpérationRequête
Lister, lireGET /v1/customization/specs, GET /v1/customization/specs/{name}
CréerPOST /v1/customization/specs
ÉcraserPUT /v1/customization/specs/{name}
SupprimerDELETE /v1/customization/specs/{name}
AppliquerPOST /v1/vms/{id}/customize avec {"spec": "<name>"}, sur une machine virtuelle hors tension
Offre d'agentPOST /v1/guest-agent/offer

À la création, les données cloud-init circulent dans l'extra_config de la machine virtuelle sous guestinfo.userdata et des clés apparentées, voir Créer une machine virtuelle.

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