Crea y después inicia una instancia de VM

En esta página, se proporcionan instrucciones para crear una instancia de máquina virtual (VM) con una imagen de disco de arranque o una instantánea de disco de arranque.

Puedes crear una VM con uno o más discos. También puedes agregar discos a tu VM después de crearla. Google Distributed Cloud (GDC) aislado inicia automáticamente la instancia de VM después de la creación.

Puedes agregar secuencias de comandos de inicio a una VM, ya sea antes o después de la creación. Para obtener más información sobre las secuencias de comandos de inicio, consulta la página Usa una secuencia de comandos de inicio con una instancia de VM.

Antes de comenzar

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

Obtén la ruta de acceso del archivo kubeconfig

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

  1. Accede y genera el archivo kubeconfig para el servidor de la API de Management si no tienes uno.

  2. Usa la ruta de acceso al archivo kubeconfig del servidor de la API de administración para reemplazar MANAGEMENT_API_SERVER en estas instrucciones.

Solicita permisos y acceso

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

Para las operaciones de VM con la consola de GDC o la CLI de gdcloud, solicita a tu administrador de IAM del proyecto que te asigne el rol de administrador de máquinas virtuales del proyecto y el rol de visualizador del proyecto (project-viewer).

Crea una instancia de VM a partir de una imagen

En esta sección, se muestra cómo crear una VM a partir de una imagen de SO proporcionada por GDC o de una imagen de SO personalizada.

Consulta una lista de las imágenes disponibles proporcionadas por el GDC

Antes de crear una VM con una imagen proporcionada por GDC, revisa la lista de imágenes disponibles. Consulta las imágenes de VM compatibles para obtener más información sobre las imágenes proporcionadas por GDC.

gdcloud

  • Enumera todas las imágenes disponibles y su tamaño de disco mínimo:

    gdcloud compute images list
    

    Este comando incluye imágenes personalizadas y proporcionadas por GDC. Elige cualquiera de las imágenes en el espacio de nombres vm-system.

API

  1. Enumera todas las imágenes proporcionadas por GDC disponibles:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtén el minimumDiskSize para una imagen proporcionada por GDC en particular:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Reemplaza lo siguiente:

    • MANAGEMENT_API_SERVER: Es el archivo kubeconfig para el servidor de la API de administración.
    • BOOT_DISK_IMAGE_NAME: Es el nombre de la imagen.

Crea una instancia de VM a partir de una imagen proporcionada por GDC

De forma predeterminada, todos los proyectos de GDC pueden crear VMs a partir de imágenes de SO proporcionadas por GDC.

gdcloud

  1. Selecciona una imagen proporcionada por GDC para crear la instancia de VM:

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Reemplaza lo siguiente:

    VariableDefinición
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20GB.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true o false, que indica lo contrario a si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
    gdcloud compute machine-types list

API

  1. Selecciona una imagen proporcionada por GDC para crear la instancia de VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Reemplaza lo siguiente:

    VariableDefinición
    MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
    PROJECT Es el proyecto de GDC en el que se creará la VM.
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    BOOT_DISK_AUTO_DELETE true o false, que indica si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
    gdcloud compute machine-types list
  2. Verifica que se haya creado la VM y espera a que muestre el estado Running. El estado Running no indica que el SO esté completamente listo y accesible.

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

    Reemplaza VM_NAME y PROJECT por el nombre y el proyecto de la VM.

    Para agregar una secuencia de comandos de inicio a la creación de tu instancia de VM, sigue los pasos que se proporcionan en la página Usa una secuencia de comandos de inicio con una instancia de VM. Asegúrate de cerrar la VM antes de agregar la secuencia de comandos.

Crea una instancia de VM a partir de una imagen personalizada

La imagen personalizada pertenece exclusivamente a tu proyecto. Para crear una VM con una imagen personalizada, primero debes crear una imagen personalizada en el mismo proyecto.

gdcloud

  1. Enumera todas las imágenes personalizadas:

    gdcloud compute images list --no-standard-images=true
    
  2. Crea la instancia de VM:

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Reemplaza lo siguiente:

    VariableDefinición
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20GB.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true o false, que indica lo contrario a si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
    gdcloud compute machine-types list

API

  1. Enumera todas las imágenes personalizadas:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT
    

    Obtén el minimumDiskSize de una imagen en particular para crear una instancia de VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimage.virtualmachine.gdc.goog --namespace PROJECT \
        BOOT_DISK_IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}{"\n"}'
    

    Reemplaza lo siguiente:

    VariableDefinición
    MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
    BOOT_DISK_IMAGE_NAME Es el nombre de la imagen elegida en el comando para listar todas las imágenes personalizadas.
    PROJECT Es el proyecto de la imagen.
  2. Crea la instancia de VM:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Reemplaza lo siguiente:

    VariableDefinición
    MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
    PROJECT Es el proyecto de GDC en el que se creará la VM.
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    BOOT_DISK_AUTO_DELETE true o false, que indica si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
  3. Verifica que se haya creado la VM y espera a que muestre que está en el estado Running. Estar en el estado Running no significa que el SO esté completamente listo y accesible.

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

    Reemplaza VM_NAME y PROJECT por el nombre y el proyecto de la VM.

Crea una instancia de VM con discos adicionales que no sean de arranque

Puedes crear discos que no sean de arranque cuando creas una VM. Cada disco adicional puede especificar una fuente de imagen o no. El último caso es para crear un disco en blanco.

gdcloud

  1. Crea un disco a partir de una imagen:

    gdcloud compute disks create NON_BOOT_DISK_FROM_IMAGE \
        --size=NON_BOOT_DISK_SIZE \
        --image=NON_BOOT_DISK_IMAGE_NAME \
        --image-project=NON_BOOT_DISK_IMAGE_NAMESPACE
    
  2. Crea un disco a partir de una imagen en blanco:

    gdcloud compute disks create NON_BOOT_BLANK_DISK \
        --size=NON_BOOT_BLANK_DISK_SIZE \
    
  3. Crea una instancia con los discos del paso anterior:

    gdcloud compute instances create VM_NAME \
        --machine-type=MACHINE_TYPE \
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE \
        --disk=name=NON_BOOT_DISK_FROM_IMAGE \
        --disk=name=NON_BOOT_BLANK_DISK
    

    Reemplaza lo siguiente:

    VariableDefinición
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_IMAGE_NAMESPACE Es el espacio de nombres de la imagen que se usará para el disco de arranque de la VM nueva. Usa `vm-system` para una imagen proporcionada por GDC o deja el campo en blanco para una imagen personalizada.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20GB.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true o false, que indica lo contrario a si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
    gdcloud compute machine-types list

    Para discos adicionales, reemplaza los siguientes valores:

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: Es el nombre del disco adicional.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: Es el tamaño de los discos adicionales, por ejemplo, 20GB.
    • NON_BOOT_DISK_IMAGE_NAME: Es el nombre de la imagen que se usará como disco que no es de arranque.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: Es el espacio de nombres de la imagen que se usará como disco que no es de arranque. Usa vm-system para una imagen proporcionada por GDC o deja el campo en blanco para una imagen personalizada.

API

  1. Crea una VM con un disco que no sea de arranque:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_DISK_FROM_IMAGE
    spec:
      source:
        image:
          name: NON_BOOT_DISK_IMAGE_NAME
          namespace: NON_BOOT_DISK_IMAGE_NAMESPACE
      size: NON_BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: NON_BOOT_BLANK_DISK
    spec:
      size: NON_BOOT_BLANK_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: BOOT_DISK_IMAGE_NAMESPACE
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        virtualMachineType: MACHINE_TYPE
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
        - virtualMachineDiskRef:
            name: NON_BOOT_DISK_FROM_IMAGE
        - virtualMachineDiskRef:
            name: NON_BOOT_BLANK_DISK
    EOF
    

    Reemplaza lo siguiente:

    VariableDefinición
    MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
    PROJECT Es el proyecto de GDC que se creará en la VM.
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_IMAGE_NAMESPACE Es el espacio de nombres de la imagen que se usará para el disco de arranque de la VM nueva. Usa el espacio de nombres vm-system para una imagen proporcionada por GDC o déjalo en blanco para una imagen personalizada.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    BOOT_DISK_AUTO_DELETE true o false, que indica si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    Para discos adicionales, reemplaza los siguientes valores:

    • NON_BOOT_DISK_FROM_IMAGE, NON_BOOT_BLANK_DISK: Es el nombre del disco adicional.
    • NON_BOOT_DISK_SIZE, NON_BOOT_BLANK_DISK_SIZE: Es el tamaño de los discos adicionales, por ejemplo, 20Gi.
    • NON_BOOT_DISK_IMAGE_NAME: Es el nombre de la imagen que deseas usar como disco que no es de arranque.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: Es el espacio de nombres de la imagen que deseas usar como disco que no es de arranque. Usa el espacio de nombres vm-system para una imagen proporcionada por GDC o déjalo en blanco para una imagen personalizada.

    Formatea y activa los discos antes de usarlos.

Crea una VM a partir de una instantánea o copia de seguridad

Puedes crear una VM nueva a partir de una instantánea de las siguientes maneras:

  • Restablece un disco de arranque de VM: Si creaste una copia de seguridad del disco de arranque de una VM con una instantánea, usa esa instantánea para crear una VM nueva. Consulta Cómo restablecer una instantánea.
    • Restablece un disco que no es de arranque: Si creaste una copia de seguridad de un disco que no es de arranque con una instantánea, también puedes restablecer la instantánea en un nuevo disco que no es de arranque cuando crees una VM, siguiendo las mismas instrucciones.

Para crear más de una VM con el mismo disco de arranque, haz lo siguiente:

  1. Crea una imagen personalizada.
  2. Crea VMs a partir de esa imagen sin usar una instantánea.

Crea una VM sin usar un tipo de máquina

Distributed Cloud ofrece tipos predefinidos de máquinas que puedes usar cuando creas una instancia de VM. Un tipo predefinido de máquina tiene una cantidad predeterminada de CPU virtuales y memoria.

Si los tipos predefinidos de VM no satisfacen tus necesidades, crea una instancia de VM con una configuración de hardware virtualizada y personalizada.

Las VM personalizadas son ideales en las siguientes situaciones:

  • Las cargas de trabajo que no son adecuadas para los tipos predefinidos de VM
  • Cargas de trabajo que requieren mayor potencia de procesamiento o memoria, pero no necesitan todas las actualizaciones que proporciona el próximo nivel de tipo de máquina

gdcloud

  1. Crea una VM con un tipo de máquina que definas:

    gdcloud compute instances create VM_NAME \
        --custom-cpu=NUM_VCPU \
        --custom-memory=MEMORY
        --image=BOOT_DISK_IMAGE_NAME --image-project=vm-system \
        --boot-disk-size=BOOT_DISK_SIZE \
        --no-boot-disk-auto-delete=NO_BOOT_DISK_AUTO_DELETE
    

    Reemplaza lo siguiente:

    VariableDefinición
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20GB.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    NO_BOOT_DISK_AUTO_DELETE true o false, que indica lo contrario a si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    NUM_VCPU Es la cantidad de CPU virtuales. La cantidad máxima de CPU virtuales admitidas es 192.
    MEMORY Tamaño de la memoria, como 8G. El tamaño máximo de la memoria es de un terabyte (TB).

API

  1. Crea una VM con un tipo de máquina que definas:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: VM_BOOT_DISK_NAME
    spec:
      source:
        image:
          name: BOOT_DISK_IMAGE_NAME
          namespace: vm-system
      size: BOOT_DISK_SIZE
    ---
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachine
    metadata:
      name: VM_NAME
    spec:
      compute:
        vcpus: NUM_VCPU
        memory: MEMORY
      disks:
        - virtualMachineDiskRef:
            name: VM_BOOT_DISK_NAME
          boot: true
          autoDelete: BOOT_DISK_AUTO_DELETE
    EOF
    

    Reemplaza lo siguiente:

    VariableDefinición
    MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
    PROJECT Es el proyecto de Distributed Cloud en el que se creará la VM.
    VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
    VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
    BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
    Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
    BOOT_DISK_AUTO_DELETE true o false, que indica si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
    NUM_VCPU Es la cantidad de CPU virtuales. La cantidad máxima de CPU virtuales admitidas es 192.
    MEMORY Tamaño de la memoria, como 8G. El tamaño máximo de la memoria es de un TB.

Crea una instancia de VM con una dirección IP y una subred especificadas

De forma predeterminada, puedes crear una VM de Distributed Cloud sin la especificación de red. Este tipo de VM se conecta a la nube privada virtual (VPC) predeterminada y asigna de forma dinámica una IP de la subred predeterminada. Para crear una VM con la configuración predeterminada, consulta Crea una VM con una imagen proporcionada por GDC.

Si no deseas usar la configuración de IP predeterminada para tu VM de Distributed Cloud, puedes crear una VM con una dirección IP dinámica o estática:

  • IP dinámica de una subred personalizada: Creas una subred con un CIDR específico y una VM con una IP asignada de forma dinámica desde ese CIDR.

  • IP estática de una subred personalizada: Creas una subred con un CIDR específico y una VM con una IP estática de ese CIDR.

En esta sección, se muestra cómo crear una VM con una dirección asignada de forma dinámica o con una dirección IP estática.

Crea una VM con una IP asignada de forma dinámica desde una subred personalizada

Crea una VM con una IP asignada de forma dinámica desde un CIDR específico:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
   EOF

Reemplaza las siguientes variables:

VariableDefinición
MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
PROJECT Es el proyecto de Distributed Cloud en el que se creará la VM.
VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, con un máximo de 53 caracteres.
VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
BOOT_DISK_AUTO_DELETE Puede ser true o false, lo que indica si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Selecciona un tipo de máquina disponible:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Es el nombre de la subred personalizada.

Crea una VM con una IP estática desde una subred

Crea una VM con una IP estática a partir de una subred personalizada:

   kubectl --kubeconfig MANAGEMENT_API_SERVER \
       apply -n PROJECT -f - <<EOF
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachineDisk
   metadata:
     name: VM_BOOT_DISK_NAME
   spec:
     source:
       image:
         name: BOOT_DISK_IMAGE_NAME
         namespace: vm-system
     size: BOOT_DISK_SIZE
   ---
   apiVersion: virtualmachine.gdc.goog/v1
   kind: VirtualMachine
   metadata:
     name: VM_NAME
   spec:
     compute:
       virtualMachineType: MACHINE_TYPE
     disks:
       - virtualMachineDiskRef:
           name: VM_BOOT_DISK_NAME
         boot: true
         autoDelete: BOOT_DISK_AUTO_DELETE
     network:
       interfaces:
       - subnet: SUBNET_NAME
         ipAddresses:
         - address: IP_ADDRESS
   EOF

Reemplaza las siguientes variables:

VariableDefinición
MANAGEMENT_API_SERVER Es el archivo kubeconfig del servidor de la API de Management.
PROJECT Es el proyecto de Distributed Cloud en el que se creará la VM.
VM_NAME Nombre de la VM nueva El nombre solo debe contener caracteres alfanuméricos y guiones, y no debe tener más de 53 caracteres.
VM_BOOT_DISK_NAME Nombre del nuevo disco de arranque de la VM.
BOOT_DISK_IMAGE_NAME Nombre de la imagen que se usará para el disco de arranque de la VM nueva.
BOOT_DISK_SIZE Tamaño del disco de arranque, como 20Gi.
Este valor siempre debe ser mayor o igual que el minimumDiskSize de la imagen del disco de arranque.
BOOT_DISK_AUTO_DELETE Puede ser true o false, lo que indica si el disco de arranque se borra automáticamente cuando se borra la instancia de VM.
MACHINE_TYPE Es el tipo de máquina predefinido para la VM nueva. Para seleccionar un tipo de máquina disponible, ejecuta el siguiente comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Es el nombre de la subred personalizada.
IP_ADDRESS Es la dirección IP. Debe estar dentro del rango de la subred elegida. Solo puedes especificar una dirección IP en el campo ipAddresses.