Créer une VM avec des ressources de processeur et de mémoire spécifiques à l'aide de l'environnement d'exécution des VM sur Google Distributed Cloud

Ce document est destiné aux propriétaires d'applications et aux administrateurs de plate-forme qui exécutent GKE sur une solution Bare Metal. Ce document explique comment créer et utiliser des types de VM, ou spécifier manuellement les ressources de processeur et de mémoire lorsque vous créez des VM qui utilisent l'environnement d'exécution des VM sur Google Distributed Cloud.

Avant de commencer

Pour suivre les instructions de ce document, vous devez disposer des ressources suivantes :

Créer une VM

Lorsque vous créez une VM, vous pouvez spécifier manuellement les exigences en termes de processeur et de mémoire. Cela vous permet de créer des VM avec les ressources de calcul appropriées pour répondre aux besoins de votre application.

Pour créer une VM et spécifier manuellement les exigences en termes de processeur et de mémoire, procédez comme suit :

CLI

  • Créez une VM en utilisant kubectl :

    kubectl virt create vm VM_NAME \
      --image ubuntu20.04 \
      --cpu CPU_NUMBER \
      --memory MEMORY_SIZE
    

    Remplacez les valeurs suivantes :

    • VM_NAME : nom de votre VM. Pour en savoir plus sur les contraintes de nom, consultez la section Noms et ID d'objets.
    • CPU_NUMBER : nombre de processeurs virtuels (vCPU) à attribuer à la VM.
      • Vous pouvez attribuer entre 1 et 96 processeurs virtuels à une VM.
    • MEMORY_SIZE : quantité de mémoire à attribuer à la VM.

Manifest

  1. Créez un fichier manifeste VirtualMachine (my-custom-vm.yaml, par exemple) dans l'éditeur de votre choix :

    nano my-custom-vm.yaml
    
  2. Copiez et collez le fichier manifeste YAML suivant :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        cpu:
          vcpus: VCPU_NUMBER
        memory:
          capacity: MEMORY_SIZE
      interfaces:
        - name: eth0
          networkName: pod-network
          default: true
      disks:
        - virtualMachineDiskName: VM_NAME-boot-dv
          boot: true
    

    Dans ce fichier YAML, définissez les paramètres suivants :

    • VM_NAME : nom de votre VM. Pour en savoir plus sur les contraintes de nom, consultez la section Noms et ID d'objets.
    • VCPU_NUMBER : nombre de processeurs virtuels à attribuer à la VM.
      • Vous pouvez attribuer entre 1 et 96 processeurs virtuels à une VM.
    • MEMORY_SIZE : quantité de mémoire à attribuer à la VM.

    La VM connecte eth0 au réseau pod-network par défaut.

    Le disque de démarrage nommé VM_NAME-boot-dv doit déjà exister. Pour plus d'informations, consultez la page Créer et gérer des disques virtuels.

  3. Enregistrez et fermez le fichier manifeste de VM dans votre éditeur.

  4. Créez la VM en utilisant kubectl :

    kubectl apply -f my-custom-vm.yaml
    

Créer et utiliser des types de VM

Lorsque vous activez l'environnement d'exécution des VM sur Google Distributed Cloud, une nouvelle définition de ressource personnalisée VirtualMachineType est disponible. Cette définition est utilisée pour spécifier les ressources de processeur et de mémoire d'une VM. Vous pouvez créer des types de VM pour les différentes charges de travail dont vous avez besoin, et appliquer un ensemble cohérent de ressources de calcul aux VM en fonction de ces types.

Si l'environnement d'exécution des VM sur Google Distributed Cloud est activé dans GKE sur Bare Metal, le vm-controller-manager installe un type de VM prédéfini. La définition suivante indique le type de VM example-machinetype par défaut :

  apiVersion: vm.cluster.gke.io/v1
  kind: VirtualMachineType
  metadata:
    name: "example-machinetype"
    labels:
      vm.cluster.gke.io/predefined-machinetype: "true"
  spec:
    cpu:
      vcpus: 2
    memory:
      capacity: 4G

Vous ne pouvez pas mettre à jour ce type de VM prédéfini. Ce type de VM prédéfini est réinstallé s'il n'existe pas dans le cluster, à chaque démarrage ou redémarrage de vm-controller-manager, par exemple si vous avez supprimé le type de VM.

Créer un type de VM

Vous pouvez créer vos propres types de VM en fonction des besoins de calcul de vos charges de travail.

  1. Créez un fichier manifeste VirtualMachineType (my-vm-type.yaml, par exemple) dans l'éditeur de votre choix :

    nano my-vm-type.yaml
    
  2. Copiez et collez le fichier manifeste YAML suivant :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachineType
    metadata:
      name: my-vm-type
    spec:
      cpu:
        vcpus: VCPU_NUMBER
      memory:
        capacity: MEMORY_SIZE
    

    Dans ce type de VM, vous définissez les paramètres suivants :

    • VM_NAME : nom de votre VM. Pour en savoir plus sur les contraintes de nom, consultez la section Noms et ID d'objets.
    • VCPU_NUMBER : nombre de processeurs virtuels à attribuer à la VM.
      • Vous pouvez attribuer entre 1 et 96 processeurs virtuels à une VM.
    • MEMORY_SIZE : quantité de mémoire à attribuer à la VM.
  3. Enregistrez et fermez le fichier manifeste du type de VM dans votre éditeur.

  4. Créez le type de VM en utilisant kubectl :

    kubectl apply -f my-vm-type.yaml
    

Créer une VM en utilisant un type de VM

Spécifiez un type de VM dans votre fichier manifeste VirtualMachine pour appliquer des paramètres compute prédéfinis à votre VM.

  1. Créez un fichier manifeste VirtualMachine (my-custom-vm.yaml, par exemple) dans l'éditeur de votre choix.

    nano my-custom-vm.yaml
    
  2. Copiez et collez le fichier manifeste YAML suivant :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineTypeName: my-vm-type
      interfaces:
        - name: eth0
          networkName: pod-network
          default: true
      disks:
        - virtualMachineDiskName: VM_NAME-boot-dv
          boot: true
    

    Dans ce fichier YAML, spécifiez le nom du type de VM personnalisé que vous avez créé dans la section précédente (my-vm-type, par exemple) comme valeur du champ virtualMachineTypeName.

    La VM connecte eth0 au réseau pod-network par défaut.

    Le disque de démarrage nommé VM_NAME-boot-dv doit déjà exister. Pour plus d'informations, consultez la page Créer et gérer des disques virtuels.

  3. Enregistrez et fermez le fichier manifeste de VM dans votre éditeur.

  4. Créez la VM en utilisant kubectl :

    kubectl apply -f my-custom-vm.yaml
    

Étapes suivantes