Créer une VM avec des ressources de processeur et de mémoire spécifiques

Lorsque vous créez des VM qui utilisent l'environnement d'exécution de VM sur Google Distributed Cloud, vous pouvez configurer les ressources de calcul de deux manières :

  • Spécifier manuellement le processeur et la mémoire : définissez les ressources de calcul directement dans le fichier manifeste VirtualMachine. Cette approche est utile pour les VM ponctuelles ou les charges de travail personnalisées qui nécessitent des allocations de ressources uniques.
  • Créer et utiliser des types de VM : définissez des ressources personnalisées VirtualMachineType réutilisables qui standardisent les allocations de processeur et de mémoire. Cette approche est utile pour gérer des parcs de VM, assurer la cohérence du calcul dans votre cluster et simplifier le provisionnement de VM pour les développeurs.

Avant de commencer

Pour spécifier manuellement les ressources de processeur et de mémoire, et pour créer et utiliser des types de VM, vous devez avoir accès aux ressources suivantes :

  • Un cluster connecté Distributed Cloud, version 1.9.0 ou ultérieure.
  • L'outil de ligne de commande Kubernetes, kubectl, installé et configuré pour accéder à votre cluster. Pour en savoir plus, consultez installer kubectl.
  • Facultatif : L'outil client virtctl, installé en tant que plug-in de kubectl. Si nécessaire, consultez Installer l'outil de gestion virtctl.

Créer une VM et spécifier le processeur et la mémoire

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

Pour créer une VM et spécifier le processeur et la mémoire, utilisez un fichier manifeste VirtualMachine.

  1. Dans l'éditeur de votre choix, créez un fichier manifeste VirtualMachine, tel que my-custom-vm.yaml :

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

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

    • VM_NAME : nom de votre VM.
    • NAMESPACE : espace de noms cible de votre VM.
    • L2_NETWORK_NAME : nom du réseau de couche 2 auquel connecter la VM.
    • 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. Vous pouvez attribuer entre 1 Mio et 1 Tio de mémoire à une VM. Pour en savoir plus, consultez la section Unités de ressource de mémoire dans la documentation de Kubernetes.
    • VM_BOOT_NAME : nom du disque de démarrage de votre VM. Le disque de démarrage doit déjà exister. Pour en savoir plus, consultez Créer un disque de machine virtuelle à partir d'une image de machine virtuelle.

    La VM connecte l'interface eth0 au réseau L2 spécifié.

  2. Pour créer la VM, appliquez le fichier manifeste à votre cluster connecté Distributed Cloud à l'aide de la commande kubectl apply :

    kubectl apply -f my-custom-vm.yaml
    
  3. Pour vérifier que la VM a été créée, utilisez la commande kubectl get :

    kubectl get vm VM_NAME -n NAMESPACE
    

    Le résultat attendu affiche l'état de la VM. Vous pouvez également utiliser la commande kubectl describe pour afficher la configuration détaillée, y compris le processeur et la mémoire attribués.

Créer et utiliser des types de VM

Lorsque vous activez l'environnement d'exécution de VM sur GDC, la définition de ressource personnalisée VirtualMachineType devient disponible dans votre cluster. Vous pouvez utiliser ce type de ressource pour créer des modèles réutilisables qui définissent des allocations spécifiques de processeur et de mémoire. En créant des types de VM personnalisés pour vos différentes charges de travail, vous pouvez provisionner plusieurs VM avec des configurations de ressources de calcul cohérentes.

Si l'environnement d'exécution des VM sur GDC est activé dans Distributed Cloud connecté, un type de VM prédéfini peut être disponible. Vous ne pouvez pas mettre à jour ce 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

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. Dans l'éditeur de votre choix, créez un fichier manifeste VirtualMachineType, tel que my-vm-type.yaml :

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

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

    • VM_TYPE_NAME : nom de votre type de VM.
    • 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. Vous pouvez attribuer entre 1 Mio et 1 Tio de mémoire à une VM. Pour en savoir plus, consultez la section Unités de ressource de mémoire dans la documentation de Kubernetes.
  2. Pour créer le type de VM, appliquez le fichier manifeste à votre cluster connecté Distributed Cloud à l'aide de la commande kubectl apply :

    kubectl apply -f my-vm-type.yaml
    
  3. Pour vérifier que le type de VM a été créé, exécutez la commande kubectl get :

    kubectl get virtualmachinetype VM_TYPE_NAME
    

Créer une VM en utilisant un type de VM

Pour appliquer les paramètres de processeur et de mémoire définis dans un type de VM à votre VM, spécifiez le nom du type de VM dans la section compute du fichier manifeste VirtualMachine.

  1. Dans l'éditeur de votre choix, créez un fichier manifeste VirtualMachine, tel que my-custom-vm.yaml. 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.

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
      namespace: NAMESPACE
    spec:
      compute:
        virtualMachineTypeName: VM_TYPE_NAME
      interfaces:
        - name: eth0
          networkName: L2_NETWORK_NAME
          default: true
      disks:
        - virtualMachineDiskName: VM_BOOT_NAME-boot-dv
          boot: true

    Définissez les paramètres suivants :

    • VM_NAME : nom de votre VM.
    • NAMESPACE : espace de noms cible de votre VM.
    • L2_NETWORK_NAME : nom du réseau de couche 2 auquel connecter la VM.
    • VM_TYPE_NAME : nom du type de VM personnalisé que vous avez créé dans la section précédente, par exemple my-vm-type.
    • VM_BOOT_NAME : nom du disque de démarrage de votre VM. Le disque de démarrage doit déjà exister. Pour en savoir plus, consultez Créer un disque de machine virtuelle à partir d'une image de machine virtuelle.

    La VM connecte l'interface eth0 au réseau L2 spécifié.

  2. Pour créer la VM, appliquez le fichier manifeste à votre cluster connecté Distributed Cloud à l'aide de la commande kubectl apply :

    kubectl apply -f my-custom-vm.yaml
    
  3. Pour vérifier que la VM utilise le type de VM, exécutez la commande kubectl get avec l'option -o jsonpath :

    kubectl get vm VM_NAME -n NAMESPACE -o jsonpath='{.spec.compute.virtualMachineTypeName}'
    

    Le résultat attendu affiche le nom de votre type de VM.

Étapes suivantes