Crear y poner en marcha una instancia de VM

En esta página se explica cómo crear una instancia de máquina virtual (VM) usando una imagen o una captura del disco de arranque.

Puedes crear una VM con uno o varios discos. También puedes añadir discos a tu VM después de crearla. Google Distributed Cloud (GDC) air-gapped inicia automáticamente la instancia de VM después de crearla.

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

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).

Crear una instancia de VM a partir de una imagen

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

Ver una lista de imágenes proporcionadas por GDC

Antes de crear una VM con una imagen proporcionada por GDC, consulta 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

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

    gdcloud compute images list
    

    Este comando incluye imágenes proporcionadas por GDC e imágenes personalizadas. Elige una de las imágenes del espacio de nombres vm-system.

API

  1. Lista de todas las imágenes proporcionadas por GDC:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
    get virtualmachineimage.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtener el minimumDiskSize de una imagen concreta proporcionada por GDC:

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

    Haz los cambios siguientes:

    • MANAGEMENT_API_SERVER: el archivo kubeconfig del servidor de la API Management.
    • BOOT_DISK_IMAGE_NAME: el nombre de la imagen.

Crear 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
    

    Haz los cambios siguientes:

    VariableDefinición
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se va a usar para el disco de arranque de la nueva VM.
    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 el valor inverso de si el disco de arranque se elimina automáticamente cuando se elimina la instancia de máquina virtual.
    MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
    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
    

    Haz los cambios siguientes:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
    PROJECT El proyecto de GDC para crear la VM.
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede 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 va a usar para el disco de arranque de la nueva VM.
    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 elimina automáticamente cuando se elimina la instancia de máquina virtual.
    MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
    gdcloud compute machine-types list
  2. Verifica que la VM se haya creado y espera a que se muestre el estado Running. El estado Running no indica que el SO esté totalmente listo y accesible.

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

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

    Para añadir una secuencia de comandos de inicio a la creación de tu instancia de VM, sigue los pasos que se indican en la página Usar una secuencia de comandos de inicio con una instancia de VM. Asegúrate de apagar la máquina virtual antes de añadir la secuencia de comandos.

Crear una instancia de VM a partir de una imagen personalizada

Una 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. Lista 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
    

    Haz los cambios siguientes:

    VariableDefinición
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se va a usar para el disco de arranque de la nueva VM.
    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 el valor inverso de si el disco de arranque se elimina automáticamente cuando se elimina la instancia de máquina virtual.
    MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
    gdcloud compute machine-types list

API

  1. Lista todas las imágenes personalizadas:

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

    Obtén el minimumDiskSize de una imagen concreta 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"}'
    

    Haz los cambios siguientes:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
    BOOT_DISK_IMAGE_NAME El nombre de la imagen elegida en el comando para listar todas las imágenes personalizadas.
    PROJECT 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
    

    Haz los cambios siguientes:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
    PROJECT El proyecto de GDC para crear la VM.
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede 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 va a usar para el disco de arranque de la nueva VM.
    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 elimina automáticamente cuando se elimina la instancia de máquina virtual.
    MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
    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 el estado Running. Estar en el estado Running no significa que el SO esté totalmente listo y accesible.

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

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

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

Puedes crear discos que no sean de arranque al crear una VM. Cada disco adicional puede especificar una fuente de imagen o no. Este último caso se utiliza para crear un disco en blanco.

gdcloud

  1. Para crear un disco a partir de una imagen, sigue estos pasos:

    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. Crear 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
    

    Haz los cambios siguientes:

    VariableDefinición
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se va a usar para el disco de arranque de la nueva VM.
    BOOT_DISK_IMAGE_NAMESPACE El espacio de nombres de la imagen que se va a usar para el disco de arranque de la nueva VM. Usa `vm-system` para una imagen proporcionada por GDC o deja el campo en blanco para usar 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 el valor inverso de si el disco de arranque se elimina automáticamente cuando se elimina la instancia de máquina virtual.
    MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
    gdcloud compute machine-types list

    En el caso de los discos adicionales, sustituye lo siguiente:

    • NON_BOOT_DISK_FROM_IMAGE y NON_BOOT_BLANK_DISK: el nombre del disco adicional.
    • NON_BOOT_DISK_SIZE y NON_BOOT_BLANK_DISK_SIZE: el tamaño de los discos adicionales (por ejemplo, 20GB).
    • NON_BOOT_DISK_IMAGE_NAME: el nombre de la imagen que se va a usar como disco no de arranque.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: el espacio de nombres de la imagen que se va a usar como disco que no es de arranque. Usa vm-system para una imagen proporcionada por GDC o deja el campo en blanco para usar 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
    

    Haz los cambios siguientes:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
    PROJECT El proyecto de GDC que se va a crear en la VM.
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede 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 va a usar para el disco de arranque de la nueva VM.
    BOOT_DISK_IMAGE_NAMESPACE El espacio de nombres de la imagen que se va a usar para el disco de arranque de la nueva VM. 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 elimina automáticamente cuando se elimina la instancia de máquina virtual.
    MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
    kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system

    En el caso de los discos adicionales, sustituye lo siguiente:

    • NON_BOOT_DISK_FROM_IMAGE y NON_BOOT_BLANK_DISK: el nombre del disco adicional.
    • NON_BOOT_DISK_SIZE y NON_BOOT_BLANK_DISK_SIZE: el tamaño de los discos adicionales (por ejemplo, 20Gi).
    • NON_BOOT_DISK_IMAGE_NAME: el nombre de la imagen que quieras usar como disco que no sea de arranque.
    • NON_BOOT_DISK_IMAGE_NAMESPACE: el espacio de nombres de la imagen que quieras usar como disco no 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 monta los discos antes de usarlos.

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

Puedes crear una máquina virtual a partir de una captura de las siguientes formas:

  • Restaurar un disco de arranque de una VM: si has creado una copia de seguridad de un disco de arranque de una VM con una captura, utiliza esa captura para crear una VM. Consulta Restaurar una instantánea.
    • Restaurar un disco que no es de arranque: si has creado una copia de seguridad de un disco que no es de arranque con una captura, también puedes restaurar la captura en un disco que no es de arranque nuevo al crear una VM siguiendo las mismas instrucciones.

Para crear más de una VM con el mismo disco de arranque, sigue estos pasos:

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

Crear una VM sin usar un tipo de máquina

Distributed Cloud ofrece tipos de máquina predefinidos que puedes usar al crear una instancia de VM. Un tipo de máquina predefinido tiene un número preestablecido de vCPUs y una cantidad de memoria.

Si las VMs predefinidas no se ajustan a tus necesidades, crea una instancia de VM con una configuración de hardware virtualizado personalizada.

Las VMs personalizadas son ideales en los siguientes casos:

  • Cargas de trabajo que no se pueden aplicar a los tipos de VM predefinidos.
  • Cargas de trabajo que requieren más potencia de procesamiento o más memoria, pero que no necesitan todas las mejoras que ofrece el tipo de máquina del siguiente nivel.

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
    

    Haz los cambios siguientes:

    VariableDefinición
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede tener más de 53 caracteres.
    BOOT_DISK_IMAGE_NAME Nombre de la imagen que se va a usar para el disco de arranque de la nueva VM.
    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 el valor inverso de si el disco de arranque se elimina automáticamente cuando se elimina la instancia de máquina virtual.
    NUM_VCPU Número de vCPUs. El número máximo de vCPUs admitidas es 192.
    MEMORY El 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
    

    Haz los cambios siguientes:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
    PROJECT El proyecto de Distributed Cloud en el que se creará la VM.
    VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede 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 va a usar para el disco de arranque de la nueva VM.
    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 elimina automáticamente cuando se elimina la instancia de máquina virtual.
    NUM_VCPU Número de vCPUs. El número máximo de vCPUs admitidas es 192.
    MEMORY El tamaño de la memoria, como 8G. El tamaño máximo de la memoria es de un TB.

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

De forma predeterminada, puede 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 dinámicamente una IP de la subred predeterminada. Para crear una VM con las configuraciones predeterminadas, consulta Crear una VM con una imagen proporcionada por GDC.

Si no quieres usar la configuración de IP predeterminada de tu máquina virtual de Distributed Cloud, puedes crear una máquina virtual 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 máquina virtual con una IP asignada dinámicamente a partir de 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 explica cómo crear una VM con una dirección asignada dinámicamente o con una dirección IP estática.

Crear una VM con una IP asignada dinámicamente a partir de una subred personalizada

Crea una VM con una IP asignada dinámicamente a partir de 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

Sustituye las siguientes variables:

VariableDefinición
MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
PROJECT El proyecto de Distributed Cloud en el que se creará la VM.
VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y debe tener 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 va a usar para el disco de arranque de la nueva VM.
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 elimina automáticamente cuando se elimina la instancia de máquina virtual.
MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Selecciona un tipo de máquina disponible:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Nombre de la subred personalizada.

Crear una VM con una IP estática a partir de 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

Sustituye las siguientes variables:

VariableDefinición
MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
PROJECT El proyecto de Distributed Cloud en el que se creará la VM.
VM_NAME Nombre de la nueva VM. El nombre solo puede contener caracteres alfanuméricos y guiones, y no puede 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 va a usar para el disco de arranque de la nueva VM.
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 elimina automáticamente cuando se elimina la instancia de máquina virtual.
MACHINE_TYPE El tipo de máquina predefinido de la nueva VM. Para seleccionar un tipo de máquina disponible, ejecuta lo siguiente:
kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachinetype.virtualmachine.gdc.goog --namespace vm-system
SUBNET_NAME Nombre de la subred personalizada.
IP_ADDRESS La dirección IP. Debe estar dentro del intervalo de la subred elegida. Solo puedes especificar una dirección IP en el campo ipAddresses.