Modifier la configuration de VM dans l'environnement d'exécution des VM Anthos

Ce document est destiné aux propriétaires d'applications qui exécutent des clusters Anthos sur solution Bare Metal. Ce document explique comment modifier les machines virtuelles (VM) qui s'exécutent dans l'environnement d'exécution des VM Anthos. Par exemple, vous pouvez modifier l'allocation des ressources comme le processeur et la mémoire, ou modifier le réseau auquel une VM se connecte.

Vous pouvez modifier n'importe quel champ de la section spec d'une ressource VirtualMachine. Vous pouvez également modifier les libellés d'une VM. Les autres champs, par exemple le nom de la VM (metadata.name), ne peuvent pas être modifiés. Votre VM doit être dans un état Stopped avant de pouvoir modifier la ressource.

Si vos modifications apportées à la ressource VirtualMachine contiennent des erreurs lorsque vous les enregistrez, les modifications sont rejetées et une notification s'affiche. Corrigez la ou les erreurs et essayez d'enregistrer à nouveau la ressource VirtualMachine. Si votre VM ne démarre pas après avoir effectué des modifications, utilisez la commande kubectl describe gvm VM_NAME pour afficher les informations de dépannage et corriger la ou les erreurs.

Avant de commencer

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

Modifier les ressources de calcul

Si vos besoins en charge de travail de calcul évoluent, vous pouvez mettre à jour le nombre de processeurs virtuels et la quantité de mémoire virtuelle que vous attribuez à vos VM. Pour modifier vos charges de travail de calcul, procédez comme suit :

  1. Arrêtez la VM que vous souhaitez modifier :

    kubectl virt stop VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous souhaitez arrêter.

  2. Utilisez kubectl pour modifier la VM :

    kubectl edit gvm VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous souhaitez modifier.

  3. Dans votre éditeur, mettez à jour les valeurs de ressources de calcul que vous souhaitez modifier.

    Par exemple, l'exemple de fichier manifeste VirtualMachine suivant indique que 2 processeurs virtuels sont attribués à la ressource de VM :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      compute:
        cpu:
          vcpus: 2
    ...
    

    Si vous souhaitez mettre à jour le nombre de processeurs virtuels attribués, modifiez la valeur dans votre éditeur, comme indiqué dans l'exemple suivant :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      compute:
        cpu:
          vcpus: 4
    ...
    
  4. Enregistrez et fermez le fichier manifeste de la VM.

  5. Démarrez la VM que vous avez modifiée :

    kubectl virt start VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous avez modifiée.

  6. Vérifiez le STATUS de votre VM :

    kubectl get gvm VM_NAME
    

    Vérifiez que votre VM est à l'état Running. Si votre VM demande plus de ressources de calcul que l'hôte ne peut en fournir, elle ne peut pas démarrer. Si la VM n'est pas à l'état Running, vérifiez le fichier manifeste de la ressource VirtualMachine et la disponibilité des ressources de calcul sur l'hôte.

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

    NAME   STATUS    AGE   IP
    vm1    Running   1m    192.168.2.72
    
  7. Affichez des informations détaillées sur une VM en utilisant kubectl describe gvm :

    kubectl describe gvm VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous avez modifiée.

    L'exemple de résultat suivant affiche les informations condensées pour une VM, avec une modification du nombre de processeurs virtuels appliquée avec succès :

    Name:         vm1
    Namespace:    default
    Labels:       <none>
    Annotations:  <none>
    API Version:  vm.cluster.gke.io/v1
    Kind:         VirtualMachine
    ...
    Spec:
      Compute:
        Cpu:
          Vcpus:  4
    ...
    

Pour en savoir plus, découvrez comment créer des VM avec des configurations de processeur virtuel et de mémoire spécifiques.

Modifier les ressources de disque

Si vos besoins en stockage changent, vous pouvez ajouter ou supprimer des disques virtuels sur une VM. Pour modifier les disques associés à votre VM, procédez comme suit :

  1. Arrêtez la VM que vous souhaitez modifier :

    kubectl virt stop VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous souhaitez arrêter.

  2. Utilisez kubectl pour modifier la VM :

    kubectl edit gvm VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous souhaitez modifier.

  3. Dans votre éditeur, mettez à jour la section spec.disks pour associer ou dissocier des disques.

    Par exemple, l'exemple de fichier manifeste VirtualMachine suivant montre qu'un seul disque de démarrage est associé à la VM :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      disks:
        - boot: true
          virtualMachineDiskName: vm1-boot-dv
      ...
    

    Si vous souhaitez ajouter un disque vide existant, mettez à jour la configuration de disque dans votre éditeur, comme indiqué dans l'exemple suivant :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      disks:
        - boot: true
          virtualMachineDiskName: vm1-boot-dv
        - virtualMachineDiskName: DISK_NAME
      ...
    

    Remplacez DISK_NAME par le nom du disque à associer.

  4. Enregistrez et fermez le fichier manifeste de la VM.

  5. Démarrez la VM que vous avez modifiée :

    kubectl virt start VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous avez modifiée.

  6. Vérifiez le STATUS de votre VM :

    kubectl get gvm VM_NAME
    

    Vérifiez que votre VM est à l'état Running. Si votre VM demande une StorageClass ou une attribution de disque que l'hôte ne peut pas fournir, votre VM ne peut pas démarrer. Si la VM n'est pas à l'état Running, vérifiez vos fichiers manifestes de ressources VirtualMachine et VirtualMachineDisk, ainsi que la compatibilité de l'espace de stockage de l'hôte.

  7. Affichez des informations détaillées sur une VM en utilisant kubectl describe gvm :

    kubectl describe gvm VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous avez modifiée.

    L'exemple de résultat suivant affiche les informations condensées pour une VM, avec une modification des disques associés appliquée avec succès :

    Name:         vm1
    Namespace:    default
    Labels:       <none>
    Annotations:  <none>
    API Version:  vm.cluster.gke.io/v1
    Kind:         VirtualMachine
    ...
    Spec:
      Disks:
        Name:  vm1-boot-dv
        Name:  data-disk-01
    ...
    

Pour en savoir plus, découvrez comment créer et gérer des disques.

Modifier les ressources réseau

À mesure que votre infrastructure évolue, vous pouvez modifier la configuration réseau d'une VM. Par exemple, vous pouvez connecter la VM à un autre réseau virtuel ou attribuer manuellement une adresse IP. Pour modifier la configuration réseau d'une VM, procédez comme suit :

  1. Arrêtez la VM que vous souhaitez modifier :

    kubectl virt stop VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous souhaitez arrêter.

  2. Utilisez kubectl pour modifier la VM :

    kubectl edit gvm VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous souhaitez modifier.

  3. Dans votre éditeur, mettez à jour les paramètres de configuration réseau que vous souhaitez modifier.

    Par exemple, l'exemple de fichier manifeste VirtualMachine suivant montre que la VM se connecte à un réseau nommé backend-vlan100 et utilise DHCP, car aucune adresse IP n'est définie :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      interfaces:
        - name: eth0
          networkName: backend-vlan100
          default: true
    ...
    

    Si vous souhaitez modifier le réseau auquel la VM se connecte ou attribuer une adresse IP manuelle, mettez à jour la configuration réseau dans votre éditeur, comme indiqué dans l'exemple suivant :

    apiVersion: vm.cluster.gke.io/v1
    kind: VirtualMachine
    metadata:
      name: vm1
    spec:
      ...
      interfaces:
        - name: eth0
          networkName: NETWORK_NAME
            ipAddresses:
              - IP_ADDRESS
          default: true
    ...
    

    Remplacez NETWORK_NAME par le nom du réseau auquel vous connecter, ou ajoutez la section ipAddresses et spécifiez le IP_ADDRESS à utiliser pour votre VM.

  4. Enregistrez et fermez le fichier manifeste de la VM.

  5. Démarrez la VM que vous avez modifiée :

    kubectl virt start VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous avez modifiée.

  6. Vérifiez le STATUS de votre VM :

    kubectl get gvm VM_NAME
    

    Vérifiez que votre VM est à l'état Running. Si votre VM demande une connexion réseau que l'hôte ne peut pas fournir, elle ne peut pas démarrer. Si la VM n'est pas à l'état Running, vérifiez le fichier manifeste de la ressource VirtualMachine et la compatibilité du réseau hôte.

  7. Affichez des informations détaillées sur une VM en utilisant kubectl describe gvm :

    kubectl describe gvm VM_NAME
    

    Remplacez VM_NAME par le nom de la VM que vous avez modifiée.

    L'exemple de résultat suivant affiche les informations condensées pour une VM, avec une modification du fichier de configuration du réseau et des adresses IP appliquée avec succès :

    Name:         vm1
    Namespace:    default
    Labels:       <none>
    Annotations:  <none>
    API Version:  vm.cluster.gke.io/v1
    Kind:         VirtualMachine
    ...
    Spec:
      Compute:
      Interfaces:
        Name:          eth0
        Network Name:  backend-vlan200
    ...
    Status:
      ...
      Interfaces:
        Dns Config:
          Nameservers:
            8.8.8.8
        gateway4:  10.200.0.9
        Ip Addresses:
          10.200.0.22/24
        Mac Address:    22:b4:e3:d2:ef:fb
        Name:           eth0
        Resource Name:  vm1-eth0-f2468
    ...
    

Pour plus d'informations, découvrez comment créer et gérer des réseaux virtuels.

Étapes suivantes