Mettre à jour les propriétés d'une VM

Cette page décrit les propriétés de machine virtuelle (VM) que vous pouvez modifier pour une VM existante et comment effectuer cette modification.

Avant de commencer

Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud. Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud ou kubectl et nécessitent un environnement de système d'exploitation (OS).

Obtenir le chemin d'accès au fichier kubeconfig

Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :

  1. Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.

  2. Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer MANAGEMENT_API_SERVER dans ces instructions.

Demander des autorisations et un accès

Pour effectuer les tâches listées sur cette page, vous devez disposer du rôle Administrateur VirtualMachine du projet. Suivez les étapes pour vérifier que vous disposez du rôle Administrateur VirtualMachine du projet (project-vm-admin) dans l'espace de noms du projet dans lequel réside la VM.

Pour les opérations sur les VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à votre administrateur IAM de projet de vous attribuer le rôle Administrateur de machines virtuelles du projet et le rôle Lecteur du projet (project-viewer).

Propriétés modifiables

Vous ne pouvez modifier que les propriétés qui se trouvent dans l'spec de la VM.

Afficher les propriétés modifiables

Recherchez les propriétés que vous souhaitez modifier à l'aide de la console GDC ou de kubectl.

Console

  1. Dans le menu de navigation, cliquez sur Machines virtuelles > Instances.

  2. Dans la liste des VM, cliquez sur le nom d'une VM pour afficher ses propriétés.

  3. Les propriétés modifiables sont associées à une icône Modifier.

kubectl

  1. Affichez la liste des propriétés de la VM spec et les valeurs valides correspondant à chaque propriété :

    kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec
    

    Le résultat ressemble à ce qui suit :

    KIND:     VirtualMachine
    VERSION:  virtualmachine.gdc.goog/v1
    
    RESOURCE: spec <Object>
    
    DESCRIPTION:
         Defines the specification of the Virtual Machine.
    
    FIELDS:
       compute      <Object>
         Specifies the CPU and Memory of the VM. CPU and Memory can be defined
         directly or through the VirtualMachineType. Changes to Compute require a
         reboot to take effect. Compute is immutable when the VM is in `Unknown`
         state.
    
       disks        <[]Object> -required-
         Specifies the list of disks attached to this vm. There must be exactly one
         boot disk. Changes to disk attachments require a reboot to take effect.
    
       ...
    
  2. Affichez de manière récursive les sous-propriétés de chaque propriété. Ces exemples montrent le retour pour les sous-propriétés compute et vcpus :

    • Cet exemple de commande renvoie les champs de la sous-propriété compute :

      kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec.compute
      

      Le résultat ressemble à ce qui suit :

      KIND:     VirtualMachine
      VERSION:  virtualmachine.gdc.goog/v1
      
      RESOURCE: compute <Object>
      
      DESCRIPTION:
           Specifies the CPU and Memory of the VM. CPU and Memory can be defined
           directly or through the VirtualMachineType. Changes to Compute require a
           reboot to take effect. Compute is immutable when the VM is in `Unknown`
           state.
      
      FIELDS:
         memory       <>
           Specifies the amount of physical memory available to the instance. memory
           must have a minimum value of `1G`, and can be up to (including) `400G`.
      
         vcpus        <integer>
           Specifies the number of VCPUs that are available to the instance. Specify
           `vcpus` as an integer. This value must be a multiple of 2, with 2 as the
           minimum and 128 as the maximum allowed.
      
         ...
      
    • Cet exemple de commande renvoie les champs de la sous-propriété vcpus :

      kubectl --kubeconfig MANAGEMENT_API_SERVER explain virtualmachines.virtualmachine.gdc.goog.spec.compute.vcpus
      

      Le résultat ressemble à ce qui suit :

      KIND:     VirtualMachine
      VERSION:  virtualmachine.gdc.goog/v1
      
      FIELD:    vcpus <integer>
      
      DESCRIPTION:
           Specifies the number of VCPUs that are available to the instance. Specify
           `vcpus` as an integer. This value must be a multiple of 2, with 2 as the
           minimum and 128 as the maximum allowed.
      

Toutes les propriétés peuvent être mises à jour sur une VM en cours d'exécution, mais nécessitent souvent le redémarrage de la VM pour prendre effet.

Ces mises à jour des propriétés nécessitent le redémarrage de la VM pour que les modifications prennent effet :

Ces modifications de propriétés prennent effet immédiatement :

  • guestEnvironment
  • runningState

Mettre à jour les propriétés d'une VM

Mettez à jour les propriétés de la VM à l'aide de la console GDC ou de kubectl.

Console

  1. Dans le menu de navigation, cliquez sur Machines virtuelles > Instances.

  2. Dans la liste des VM, cliquez sur le nom d'une VM pour afficher ses propriétés.

  3. Cliquez sur Modifier à côté de la propriété que vous souhaitez modifier, puis effectuez les modifications.

  4. Si vous souhaitez remplacer le disque de démarrage ou ajouter un disque, consultez Remplacer un disque de démarrage ou Ajouter un disque à une VM.

  5. Cliquez sur Enregistrer.

kubectl

  1. Exécutez la commande suivante :

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
       edit virtualmachines.virtualmachine.gdc.goog VM_NAME \
       -n PROJECT
    

    Remplacez les variables comme indiqué dans le tableau suivant.

    VariableDéfinition
    MANAGEMENT_API_SERVERFichier kubeconfig du serveur de l'API Management.
    VM_NAMENom de la VM.
    PROJECTNom du projet
  2. Modifiez le spec pour mettre à jour les champs et les valeurs requis pour les propriétés modifiables.

  3. Enregistrez le fichier.

  4. Si la mise à jour de la propriété nécessite le redémarrage de la VM, suivez les instructions de la section Redémarrer une VM.