Actualizar las propiedades de una VM

En esta página se describe qué propiedades de una máquina virtual (VM) se pueden actualizar y cómo hacerlo.

Antes de empezar

Para usar los comandos de la gdcloud interfaz de línea de comandos (CLI), asegúrate de haber descargado, instalado y configurado la gdcloud CLI. Todos los comandos de Distributed Cloud usan la CLI gdcloud o kubectl y requieren un entorno de sistema operativo.

Obtener la ruta del archivo kubeconfig

Para ejecutar comandos en el servidor de la API Management, asegúrate de tener los siguientes recursos:

  1. Inicia sesión y genera el archivo kubeconfig del servidor de la API Management si no tienes uno.

  2. Usa la ruta al archivo kubeconfig del servidor de la API Management para sustituir MANAGEMENT_API_SERVER en estas instrucciones.

Solicitar permisos y acceso

Para realizar las tareas que se indican en esta página, debes tener el rol de administrador de máquinas virtuales de proyecto. Sigue los pasos para verificar que tienes el rol de administrador de máquinas virtuales de proyecto (project-vm-admin) en el espacio de nombres del proyecto en el que reside la VM.

Para realizar operaciones con VMs mediante la consola de GDC o la CLI de gdcloud, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol Administrador de VirtualMachine de proyecto y el rol Lector de proyectos (project-viewer).

Propiedades actualizables

Solo puede cambiar las propiedades que se encuentran en el spec de la máquina virtual.

Ver propiedades actualizables

Busca las propiedades que quieras cambiar mediante la consola de GDC o kubectl.

Consola

  1. En el menú de navegación, haz clic en Máquinas virtuales > Instancias.

  2. En la lista de máquinas virtuales, haz clic en el nombre de una de ellas para ver sus propiedades.

  3. Las propiedades editables tienen el icono Editar.

kubectl

  1. Consulta la lista de propiedades de la máquina virtual spec y los valores válidos correspondientes a cada propiedad:

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

    El resultado debería ser similar al siguiente:

    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. Ver de forma recursiva las subpropiedades de cada propiedad. En estos ejemplos se muestra el valor devuelto de las subpropiedades compute y vcpus:

    • Este comando de ejemplo devuelve los campos de la subpropiedad compute:

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

      El resultado debería ser similar al siguiente:

      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.
      
         ...
      
    • Este comando de ejemplo devuelve los campos de la subpropiedad vcpus:

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

      El resultado debería ser similar al siguiente:

      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.
      

Todas las propiedades se pueden actualizar en una máquina virtual en ejecución, pero a menudo es necesario reiniciar la máquina virtual para que los cambios surtan efecto.

Para que se apliquen los cambios en estas propiedades, es necesario reiniciar la VM:

Estos cambios en la propiedad se aplican de inmediato:

  • guestEnvironment
  • runningState

Actualizar las propiedades de una VM

Actualiza las propiedades de la VM mediante la consola de GDC o kubectl.

Consola

  1. En el menú de navegación, haz clic en Máquinas virtuales > Instancias.

  2. En la lista de máquinas virtuales, haz clic en el nombre de una de ellas para ver sus propiedades.

  3. Haga clic en Editar junto a la propiedad que quiera modificar y haga los cambios.

  4. Si quieres sustituir el disco de arranque o añadir un disco nuevo, consulta Sustituir un disco de arranque o Añadir un disco a una VM.

  5. Haz clic en Guardar.

kubectl

  1. Ejecuta el siguiente comando:

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

    Sustituye las variables tal como se definen en la siguiente tabla.

    VariableDefinición
    MANAGEMENT_API_SERVEREl archivo kubeconfig del servidor de la API Management.
    VM_NAMEEl nombre de la VM.
    PROJECTNombre del proyecto.
  2. Edita el spec para actualizar los campos y valores obligatorios de las propiedades actualizables.

  3. Guarda el archivo.

  4. Si la actualización de la propiedad requiere que se reinicie la VM, sigue las instrucciones para reiniciar una VM.