Procédure Pour: utilisateurs, développeurs

Opérations sur l'invité

Vérifiez l'agent invité, gérez des fichiers et lancez des programmes dans un invité en marche, dans la console ; la CLI et l'API suivent.

Les opérations sur l'invité lisent et écrivent des fichiers et exécutent des programmes dans un invité en marche, sans connexion réseau vers lui. Elles passent par l'agent invité, un petit service du système d'exploitation de l'invité. La console affiche l'état de l'agent et l'invité qu'il signale ; elle a aussi un écran pour les opérations elles-mêmes. L'invité doit fonctionner, et son agent doit autoriser le type d'opération voulu. L'agent de la famille RHEL, par exemple, bloque l'exécution de programmes par défaut.

Dans la console

  1. Dans l'inventaire, sélectionnez la machine virtuelle et ouvrez l'onglet Résumé.
  2. Sur la carte Invité, lisez l'Agent invité. Il affiche En cours d’exécution, Non exécuté ou Non installé. Lorsque l'agent fonctionne, la carte affiche aussi le Nom d’hôte, l'Adresses IP et le SE invité qu'il signale.

    Résumé d'une machine virtuelle avec les actions d'alimentation, l'état et l'aperçu de la console (Agrandir)
  3. Lorsque l'agent n'est pas installé, installez-le dans l'invité, ou ajoutez-le à une image avec cloud-init, voir Personnalisation de l'invité. Pour une nouvelle machine, l'étape Personnalisation de l’invité de l'assistant accepte les données utilisateur nécessaires.
  4. Lorsque l'agent refuse des opérations, modifiez l'accès à l'invité avec Modifier l’accès invité sous Autres actions, comme décrit dans Personnalisation de l'invité. L'API indique quels types l'agent autorise, et une note avec la solution lorsqu'une opération est refusée.
  5. Pour travailler dans l'invité, sélectionnez Autres actions et Opérations dans l'invité. L'action est proposée pour un invité en marche avec un agent en marche, et indique sinon pourquoi elle est désactivée. Sélectionnez Vérifier les opérations dans l'invité pour voir si les opérations dans l'invité sont disponibles.

    Boîte de dialogue des opérations dans l'invité avec les fichiers d'un dossier de l'invité et les programmes lancés (Agrandir)
  6. Sous Fichiers, saisissez un Dossier dans l'invité et sélectionnez Lister ; affinez la liste avec un Motif de nom. Un dossier s'ouvre quand vous sélectionnez son nom, et Dossier parent remonte au dossier parent. Lire affiche un fichier, Supprimer supprime un fichier ou un dossier avec tout son contenu après que vous avez saisi son nom, Créer le dossier crée un dossier dans celui qui est ouvert, et le bouton de téléversement y place un fichier de votre ordinateur. Les fichiers voyagent dans la requête : l'écran traite des fichiers de 1 Mio au plus.
  7. Sous Programmes, saisissez le Programme absolu, éventuellement les Arguments et le Dossier de travail, puis sélectionnez Lancer le programme. Le tableau liste les programmes lancés par les opérations dans l'invité ; Terminer en termine un après une confirmation.

La lecture exige le privilège VirtualMachine.GuestOperations.Query, l'écriture VirtualMachine.GuestOperations.Modify et l'exécution de programmes VirtualMachine.GuestOperations.Execute ; un bouton que votre rôle n'autorise pas est désactivé.

Résultat

La carte affiche un agent en marche avec les données de l'invité, et les commandes de la section Automatisation répondent au lieu d'échouer avec error.guest_operations_unavailable.

Automatisation

Avec la CLI

Shell
kyvernon vm guest validate <id> --username <user>
kyvernon vm guest list-files <id> --path /etc --match-pattern "*.conf"
kyvernon vm guest read-file <id> --path /etc/hostname
kyvernon vm guest write-file <id> --path /tmp/app.conf --from app.conf
kyvernon vm guest mkdir <id> --path /var/lib/app/data --parents
kyvernon vm guest start <id> --program /usr/bin/systemctl \
  --arguments "restart app" --username <user>
kyvernon vm guest list <id>
kyvernon vm guest terminate <id> <pid>

validate vérifie si les opérations sur l'invité sont disponibles. Les autres commandes :

  • Fichiers : read-file, write-file (remplace sauf avec --no-overwrite), list-files, mkdir, delete-file, rmdir --recursive, move-file --src --dst --overwrite, move-dir, change-attrs, temp-file et temp-dir.
  • Programmes : start, list (les programmes lancés par les opérations sur l'invité) et terminate. env lit les variables d'environnement de l'invité.
  • Le contenu des fichiers circule en Base64 dans du JSON, il convient donc aux fichiers de configuration et aux petits artefacts, pas aux grandes images.

Les chemins suivent le système d'exploitation de l'invité.

Avec l'API

OpérationRequête
VérifierPOST /v1/vms/{id}/guest/credentials/validate, acquire, release
Lire un fichierPOST /v1/vms/{id}/guest/files/read
Écrire un fichierPOST /v1/vms/{id}/guest/files/write
Lister, créer, déplacer, supprimerPOST /v1/vms/{id}/guest/files/list, mkdir, move, move-dir, delete, rmdir, attrs, temp-file, temp-dir
Démarrer un programmePOST /v1/vms/{id}/guest/processes
Lister ou terminer des programmesGET /v1/vms/{id}/guest/processes, DELETE /v1/vms/{id}/guest/processes/{pid}
EnvironnementGET /v1/vms/{id}/guest/environment

Les opérations répondent immédiatement ; ce ne sont pas des tâches. L'API indique files_allowed, processes_allowed et une note dans operations_note. Une opération refusée renvoie error.guest_operations_unavailable ou l'une des erreurs de fichier de l'invité, qui nomment la cause. Les outils de l'API vSphere atteignent les mêmes fonctions par le gestionnaire d'opérations sur l'invité.

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