Rechercher

10.8. Accès aux consoles des machines virtuelles

download PDF

OpenShift Virtualization fournit différentes consoles de machines virtuelles que vous pouvez utiliser pour accomplir différentes tâches du produit. Vous pouvez accéder à ces consoles via la console web d'OpenShift Container Platform et en utilisant des commandes CLI.

10.8.1. Accéder aux consoles des machines virtuelles dans la console web d'OpenShift Container Platform

Vous pouvez vous connecter aux machines virtuelles en utilisant la console série ou la console VNC dans la console web d'OpenShift Container Platform.

Vous pouvez vous connecter aux machines virtuelles Windows en utilisant la console de visualisation du bureau, qui utilise le protocole RDP (remote desktop protocol), dans la console web d'OpenShift Container Platform.

10.8.1.1. Connexion à la console série

Connectez-vous à la console série d'une machine virtuelle en cours d'exécution à partir de l'onglet Console sur la page VirtualMachine details de la console Web.

Procédure

  1. Dans la console OpenShift Container Platform, cliquez sur Virtualization VirtualMachines dans le menu latéral.
  2. Sélectionnez une machine virtuelle pour ouvrir la page VirtualMachine details.
  3. Cliquez sur l'onglet Console. La console VNC s'ouvre par défaut.
  4. Cliquez sur Disconnect pour vous assurer qu'une seule session de console est ouverte à la fois. Sinon, la session de console VNC reste active en arrière-plan.
  5. Cliquez sur la liste déroulante VNC Console et sélectionnez Serial Console.
  6. Cliquez sur Disconnect pour mettre fin à la session de la console.
  7. Optionnel : Ouvrez la console série dans une fenêtre séparée en cliquant sur Open Console in New Window.

10.8.1.2. Connexion à la console VNC

Connectez-vous à la console VNC d'une machine virtuelle en cours d'exécution à partir de l'onglet Console sur la page VirtualMachine details de la console Web.

Procédure

  1. Dans la console OpenShift Container Platform, cliquez sur Virtualization VirtualMachines dans le menu latéral.
  2. Sélectionnez une machine virtuelle pour ouvrir la page VirtualMachine details.
  3. Cliquez sur l'onglet Console. La console VNC s'ouvre par défaut.
  4. Facultatif : Ouvrez la console VNC dans une fenêtre séparée en cliquant sur Open Console in New Window.
  5. Facultatif : Envoyez les combinaisons de touches à la machine virtuelle en cliquant sur Send Key.
  6. Cliquez en dehors de la fenêtre de la console, puis cliquez sur Disconnect pour mettre fin à la session.

10.8.1.3. Se connecter à une machine virtuelle Windows avec RDP

La console Desktop viewer, qui utilise le protocole RDP (Remote Desktop Protocol), offre une meilleure expérience de la console pour la connexion aux machines virtuelles Windows.

Pour se connecter à une machine virtuelle Windows avec RDP, téléchargez le fichier console.rdp pour la machine virtuelle à partir de l'onglet Console sur la page VirtualMachine details de la console web et fournissez-le à votre client RDP préféré.

Conditions préalables

  • Une machine virtuelle Windows en cours d'exécution avec l'agent invité QEMU installé. Le site qemu-guest-agent est inclus dans les pilotes VirtIO.
  • Un client RDP installé sur une machine du même réseau que la machine virtuelle Windows.

Procédure

  1. Dans la console OpenShift Container Platform, cliquez sur Virtualization VirtualMachines dans le menu latéral.
  2. Cliquez sur une machine virtuelle Windows pour ouvrir la page VirtualMachine details.
  3. Cliquez sur l'onglet Console.
  4. Dans la liste des consoles, sélectionnez Desktop viewer.
  5. Cliquez sur Launch Remote Desktop pour télécharger le fichier console.rdp.
  6. Faites référence au fichier console.rdp dans votre client RDP préféré pour vous connecter à la machine virtuelle Windows.

10.8.1.4. Passer d'un affichage de machine virtuelle à l'autre

Si votre machine virtuelle Windows (VM) est équipée d'un vGPU, vous pouvez passer de l'affichage par défaut à l'affichage du vGPU à l'aide de la console web.

Conditions préalables

  • Le dispositif médiatisé est configuré dans la ressource personnalisée HyperConverged et affecté à la VM.
  • La VM est en cours d'exécution.

Procédure

  1. Dans la console OpenShift Container Platform, cliquez sur Virtualization VirtualMachines
  2. Sélectionnez une machine virtuelle Windows pour ouvrir l'écran Overview.
  3. Cliquez sur l'onglet Console.
  4. Dans la liste des consoles, sélectionnez VNC console.
  5. Choisissez la combinaison de touches appropriée dans la liste Send Key:

    1. Pour accéder à l'affichage VM par défaut, sélectionnez Ctl Alt 1.
    2. Pour accéder à l'affichage vGPU, sélectionnez Ctl Alt 2.

Ressources supplémentaires

10.8.1.5. Copier la commande SSH à l'aide de la console web

Copiez la commande pour vous connecter au terminal d'une machine virtuelle (VM) via SSH.

Procédure

  1. Dans la console OpenShift Container Platform, cliquez sur Virtualization VirtualMachines dans le menu latéral.
  2. Cliquez sur le menu Options kebab de votre machine virtuelle et sélectionnez Copy SSH command.
  3. Collez-le dans le terminal pour accéder à la VM.

10.8.2. Accès aux consoles des machines virtuelles à l'aide de commandes CLI

10.8.2.1. Accéder à une machine virtuelle via SSH en utilisant virtctl

Vous pouvez utiliser la commande virtctl ssh pour transférer le trafic SSH vers une machine virtuelle (VM) à l'aide de votre client SSH local.

Note

Un trafic SSH important sur le plan de contrôle peut ralentir le serveur API. Si vous avez régulièrement besoin d'un grand nombre de connexions, utilisez un objet Kubernetes Service dédié pour accéder à la machine virtuelle.

Conditions préalables

  • Vous avez accès à un cluster OpenShift Container Platform avec les permissions cluster-admin.
  • Vous avez installé l'OpenShift CLI (oc).
  • Vous avez installé le client virtctl.
  • La machine virtuelle à laquelle vous souhaitez accéder est en cours d'exécution.
  • Vous êtes dans le même projet que la VM.

Procédure

  1. Utilisez la commande ssh-keygen pour générer une paire de clés publiques SSH :

    $ ssh-keygen -f <key_file> 1
    1
    Indiquez le fichier dans lequel les clés doivent être stockées.
  2. Créez un secret d'authentification SSH qui contient la clé publique SSH pour accéder à la VM :

    oc create secret generic my-pub-key --from-file=key1=<key_file>.pub
  3. Ajoutez une référence au secret dans le manifeste VirtualMachine. Par exemple :

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: testvm
    spec:
      running: true
      template:
        spec:
          accessCredentials:
          - sshPublicKey:
              source:
                secret:
                  secretName: my-pub-key 1
              propagationMethod:
                configDrive: {} 2
    # ...
    1
    Référence à l'objet d'authentification SSH Secret.
    2
    La clé publique SSH est injectée dans la VM en tant que métadonnée de démarrage à l'aide du fournisseur configDrive.
  4. Redémarrez la VM pour appliquer vos modifications.
  5. Exécutez la commande suivante pour accéder à la VM via SSH :

    virtctl ssh -i <key_file> <vusername>@<vm_name>
  6. Facultatif : Pour transférer en toute sécurité des fichiers vers ou depuis la VM, utilisez les commandes suivantes :

    Copier un fichier de votre machine vers la VM

    virtctl scp -i <key_file> <filename> <vusername>@<vm_name> :

    Copier un fichier de la VM vers votre machine

    virtctl scp -i <key_file> <vusername@<vm_name>:<filename> .

10.8.2.2. Accéder à la console série d'une instance de machine virtuelle

La commande virtctl console ouvre une console série sur l'instance de machine virtuelle spécifiée.

Conditions préalables

  • Le paquet virt-viewer doit être installé.
  • L'instance de machine virtuelle à laquelle vous souhaitez accéder doit être en cours d'exécution.

Procédure

  • Connectez-vous à la console série avec virtctl:

    $ virtctl console <VMI>

10.8.2.3. Accéder à la console graphique d'une instance de machine virtuelle avec VNC

L'utilitaire client virtctl peut utiliser la fonction remote-viewer pour ouvrir une console graphique sur une instance de machine virtuelle en cours d'exécution. Cette fonctionnalité est incluse dans le paquetage virt-viewer.

Conditions préalables

  • Le paquet virt-viewer doit être installé.
  • L'instance de machine virtuelle à laquelle vous souhaitez accéder doit être en cours d'exécution.
Note

Si vous utilisez virtctl via SSH sur une machine distante, vous devez transférer la session X vers votre machine.

Procédure

  1. Connectez-vous à l'interface graphique avec l'utilitaire virtctl:

    $ virtctl vnc <VMI>
  2. Si la commande a échoué, essayez d'utiliser l'indicateur -v pour collecter des informations de dépannage :

    $ virtctl vnc <VMI> -v 4

10.8.2.4. Se connecter à une machine virtuelle Windows avec une console RDP

Créez un objet Kubernetes Service pour vous connecter à une machine virtuelle (VM) Windows à l'aide de votre client RDP (Remote Desktop Protocol) local.

Conditions préalables

  • Une machine virtuelle Windows en cours d'exécution avec l'agent invité QEMU installé. L'objet qemu-guest-agent est inclus dans les pilotes VirtIO.
  • Un client RDP installé sur votre machine locale.

Procédure

  1. Modifiez le manifeste VirtualMachine pour ajouter l'étiquette de création de service :

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: vm-ephemeral
      namespace: example-namespace
    spec:
      running: false
      template:
        metadata:
          labels:
            special: key 1
    # ...
    1
    Ajouter le libellé special: key dans la section spec.template.metadata.labels.
    Note

    Les étiquettes d'une machine virtuelle sont transmises au pod. L'étiquette special: key doit correspondre à l'étiquette de l'attribut spec.selector du manifeste Service.

  2. Enregistrez le fichier manifeste VirtualMachine pour appliquer vos modifications.
  3. Créez un manifeste Service pour exposer la VM :

    apiVersion: v1
    kind: Service
    metadata:
      name: rdpservice 1
      namespace: example-namespace 2
    spec:
      ports:
      - targetPort: 3389 3
        protocol: TCP
      selector:
        special: key 4
      type: NodePort 5
    # ...
    1
    Le nom de l'objet Service.
    2
    L'espace de noms dans lequel réside l'objet Service. Il doit correspondre au champ metadata.namespace du manifeste VirtualMachine.
    3
    Le port VM à exposer par le service. Il doit faire référence à un port ouvert si une liste de ports est définie dans le manifeste VM.
    4
    La référence à l'étiquette que vous avez ajoutée dans la strophe spec.template.metadata.labels du manifeste VirtualMachine.
    5
    Le type de service.
  4. Enregistrez le fichier manifeste Service.
  5. Créez le service en exécutant la commande suivante :

    oc create -f <service_name>.yaml
  6. Démarrez la VM. Si la VM est déjà en cours d'exécution, redémarrez-la.
  7. Interroger l'objet Service pour vérifier qu'il est disponible :

    $ oc get service -n example-namespace

    Exemple de sortie pour le service NodePort

    NAME        TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)            AGE
    rdpservice   NodePort    172.30.232.73   <none>       3389:30000/TCP    5m

  8. Exécutez la commande suivante pour obtenir l'adresse IP du nœud :

    $ oc get node <node_name> -o wide

    Exemple de sortie

    NAME    STATUS   ROLES   AGE    VERSION  INTERNAL-IP      EXTERNAL-IP
    node01  Ready    worker  6d22h  v1.24.0  192.168.55.101   <none>

  9. Spécifiez l'adresse IP du nœud et le port attribué dans votre client RDP préféré.
  10. Saisissez le nom d'utilisateur et le mot de passe pour vous connecter à la machine virtuelle Windows.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.