Guide de démarrage rapide: Créer une VM dans des clusters GKE sur Bare Metal

Ce guide de démarrage rapide explique comment utiliser l'environnement d'exécution des VM sur GDC pour créer une machine virtuelle (VM) sur GKE sur Bare Metal. L'environnement d'exécution des VM sur GDC utilise KubeVirt pour orchestrer les VM sur des clusters et vous permet de travailler avec vos applications et charges de travail basées sur des VM dans un environnement de développement uniforme.

Avant de commencer

Pour suivre ce guide de démarrage rapide, vous devez accéder à un cluster GKE sur Bare Metal version 1.12 (anthosBareMetalVersion: 1.12) ou ultérieure. Vous pouvez utiliser n'importe quel type de cluster capable d'exécuter des charges de travail. Si nécessaire, essayez GKE sur Bare Metal sur Compute Engine ou consultez la présentation de la création de clusters.

Activer l'environnement d'exécution des VM sur GDC

L'environnement d'exécution des VM sur GDC est automatiquement installé dans GKE sur Bare Metal version 1.10 ou ultérieure, mais il est désactivé par défaut. Avant de pouvoir exécuter des ressources de VM dans votre environnement GKE sur Bare Metal, vous devez activer l'environnement d'exécution des VM sur GDC.

bmctl

GKE sur Bare Metal version 1.11 ou ultérieure peut utiliser l'outil de ligne de commande bmctl:

  • Pour activer l'environnement d'exécution, utilisez l'outil bmctl :

    bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
    

    Indiquez le chemin d'accès au fichier kubeconfig du cluster. GKE sur Bare Metal génère le fichier kubeconfig sur le poste de travail administrateur lorsque vous créez un cluster. Par défaut, le chemin d'accès est bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

    Si l'environnement d'exécution des VM sur GDC est déjà activé, la commande renvoie une erreur.

Ressource personnalisée

GKE sur Bare Metal version 1.10 ou ultérieure peut utiliser une définition de ressource personnalisée pour activer l'environnement d'exécution des VM sur GDC. Cette ressource personnalisée est installée par défaut.

  1. Modifiez la ressource personnalisée VMRuntime :

    kubectl edit vmruntime
    
  2. Définissez enabled:true dans la spécification :

    apiVersion: vm.cluster.gke.io/v1
    kind: VMRuntime
    metadata:
      name: vmruntime
    spec:
      enabled: true
      # useEmulation defaults to "false" if not set.
      useEmulation: true
      # vmImageFormat defaults to "qcow2" if not set.
      vmImageFormat: qcow2
    

    Dans la section spec précédente, les valeurs suivantes peuvent être définies :

    • enabled: défini sur "true" pour activer l'environnement d'exécution de VM sur GDC.
    • useEmulation : si votre nœud n'est pas compatible avec la virtualisation matérielle, ou si vous n'êtes pas sûr, définissez la valeur sur "true". Si elle est disponible, la virtualisation matérielle offre de meilleures performances que l'émulation logicielle. Le champ useEmulation est défini par défaut sur false s'il n'est pas spécifié.
    • vmImageFormat : accepte deux valeurs de format d'image disque : raw et qcow2. Si vous ne définissez pas vmImageFormat, l'environnement d'exécution de VM sur GDC utilise le format d'image disque raw pour créer des VM. Le format raw peut améliorer les performances par rapport à qcow2, un format qui utilise la copie sur écriture, mais peut utiliser plus d'espace disque. Pour en savoir plus sur les formats d'image de votre VM, consultez la section Formats de fichiers d'image disque dans la documentation de QEMU.
  3. Enregistrez la ressource personnalisée dans votre éditeur.

  4. Vérifiez que la ressource personnalisée VMRuntime est activée :

    kubectl describe vmruntime vmruntime
    

    Les détails de la ressource personnalisée VMRuntime incluent une section Status. L'environnement d'exécution de VM sur GDC est activé et fonctionne lorsque VMRuntime.Status.Ready indique true.

Installer l'outil client virtctl

Pour créer et gérer des VM, installez l'outil client virtctl.

  1. Installer l'outil de client virtctl en tant que plug-in kubectl :

    export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json"
    sudo -E bmctl install virtctl
    

    Les identifiants vous permettent de vous authentifier et de télécharger l'outil client virtctl, puis d'installer cet outil sur /usr/bin/kubectl-virt sur votre ordinateur local.

  2. Vérifiez que le plug-in virtctl est installé :

    kubectl plugin list
    

    Si kubectl-virt est répertorié dans la réponse, le plug-in est correctement installé.

    Si kubectl-virt n'est pas répertorié, vérifiez le fichier install-virtctl.log comme indiqué dans le résultat de la commande bmctl install précédente (bmctl-workspace/log/install-virtctl-[date]/install-virtctl.log, par exemple).

Créer une VM

Dans ce guide de démarrage rapide, vous allez utiliser la CLI kubectl pour créer une VM qui utilise une image de VM publique et des identifiants par défaut.

  1. Créez une VM dans votre cluster. Le plug-in virtctl s'utilise avec la commande kubectl :

    kubectl virt create vm VM_NAME \
        --image ubuntu20.04 \
        --configure-initial-password USERNAME:PASSWORD
    

    Cette commande crée une VM Ubuntu 20.04 avec les valeurs par défaut suivantes : 2 processeurs, 4 Go de mémoire et un disque de démarrage de 20 Go en mode ReadWriteOnce qui utilise la classe de stockage local-shared. Remplacez les valeurs suivantes :

    • VM_NAME : nom de votre VM. Les noms de VM ne doivent contenir que des caractères alphanumériques minuscules ou '-'. Ils doivent commencer et se terminer par un caractère alphanumérique, et ne pas contenir plus de 63 caractères. Pour en savoir plus, consultez la section Noms des étiquettes RFC 1123 dans la documentation de Kubernetes.
    • USERNAME : nom d'utilisateur du compte à créer sur la VM.
    • PASSWORD : mot de passe du compte utilisateur.

    Si vous recevez un message d'erreur sur les paramètres de la CLI, vérifiez que votre cluster est à la version 1.11.1 ou ultérieure et que vous disposez de la dernière version de l'outil client virtctl. Pour en savoir plus sur les erreurs de CLI, consultez le journal de la console. Pour connaître les règles de nom d'utilisateur et de mot de passe, consultez la documentation du système d'exploitation (OS) invité. Si quelque chose ne fonctionne pas comme prévu, recherchez les problèmes connus de l'environnement d'exécution de VM dans GDC.

  2. La création de la VM peut prendre quelques minutes. Vérifiez l'état de la VM en utilisant la commande kubectl :

    kubectl get gvm
    

    L'exemple de résultat suivant affiche la VM à l'état Running :

    NAME         STATUS    AGE   IP
    vm-sample1   Running   64s   192.168.2.124
    

Se connecter à votre VM

Lorsque votre VM est en cours d'exécution, connectez-vous à sa console.

  1. Pour accéder à une VM depuis la console, utilisez kubectl :

    kubectl virt console VM_NAME
    
  2. Lorsque vous y êtes invité, saisissez les identifiants utilisateur que vous avez spécifiés pour créer la VM.

  3. Une fois que vous êtes connecté à la console de la VM, quittez la session et la console de la VM :

    Ctrl + ]
    

Effectuer un nettoyage

Pour nettoyer les ressources créées dans ce guide de démarrage rapide, procédez comme suit :

  1. Pour supprimer la VM et le volume de données associé, utilisez kubectl :

    kubectl virt delete vm VM_NAME --all
    

Étapes suivantes