Crear un disco de arranque personalizado

Cuando creas una instancia de máquina virtual (VM), también debes crear un disco de arranque para esa VM. Puedes usar una imagen pública o personalizada. GDC crea automáticamente un disco persistente de arranque cuando creas una instancia de VM. Si necesitas discos de almacenamiento de datos adicionales para tus instancias, agrega un disco persistente a tu VM.

Usa los procedimientos descritos en esta página para crear discos de arranque que puedas usar más adelante a fin de crear VMs.

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 para el dispositivo aislado de GDC 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. Ubica el nombre del servidor de la API de Management o pregúntale a tu administrador de la plataforma (PA) cuál es el nombre del servidor.

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

  3. Usa la ruta de acceso para reemplazar MANAGEMENT_API_SERVER{"</var>"}} en estas instrucciones.

Solicita permisos y acceso

Para realizar las tareas que se indican en esta página, debes tener acceso a los discos de VM. Sigue los pasos para verificar o para que el administrador de IAM del proyecto te asigne 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 un disco de arranque a partir de una imagen

Puedes crear un disco persistente de arranque independiente sin tener que crear una instancia al mismo tiempo. Luego, puedes adjuntarlo a una instancia. En esta sección, se muestra cómo crear un disco de arranque a partir de una imagen de SO proporcionada por GDC o una imagen de SO personalizada.

Crea un disco de arranque a partir de una imagen proporcionada por GDC

Antes de crear un disco de arranque con una imagen proporcionada por GDC, revisa la lista de imágenes disponibles. Luego, crea un disco de arranque con la imagen proporcionada.

gdcloud

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

    gdcloud compute images list
    

    Este comando incluye tanto las imágenes personalizadas como las proporcionadas por el dispositivo aislado de GDC. Elige cualquiera de los dos en el espacio de nombres vm-system.

  2. Selecciona una imagen proporcionada por el dispositivo aislado de GDC para crear el disco de la VM:

    gdcloud compute disks create BOOT_DISK_NAME \
        --project=PROJECT \
        --size=DISK_SIZE \
        --image=IMAGE_NAME \
        --image-project=vm-system
    

    Reemplaza las variables con las siguientes definiciones:

    VariableDefinición
    BOOT_DISK_NAME Nombre del disco de arranque.
    PROJECT Es el proyecto de GDC en el que se creará el disco de arranque.
    DISK_SIZE El tamaño del disco de arranque debe ser al menos el minimumDiskSize de la imagen.
    IMAGE_NAME Es el nombre de la imagen.

kubectl

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtén el minimumDiskSize de una imagen específica proporcionada por GDC. El tamaño del disco de arranque personalizado creado debe ser al menos el siguiente: minimumDiskSize

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Crea un objeto VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: vm-system
      size: DISK_SIZE
    EOF
    

    Reemplaza las variables con las siguientes definiciones:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API de Management
    IMAGE_NAME Es el nombre de la imagen.
    PROJECT Es el proyecto de GDC en el que se creará el disco de arranque.
    BOOT_DISK_NAME Nombre del disco de arranque.
    DISK_SIZE El tamaño del disco de arranque debe ser al menos el minimumDiskSize de la imagen.

Crea un disco de arranque a partir de una imagen personalizada

La imagen personalizada pertenece exclusivamente a tu proyecto. Para crear una VM con una imagen de disco de arranque personalizada, si la imagen aún no existe en tu proyecto, debes crear una.

Configura los roles de IAM necesarios para acceder a imágenes personalizadas en tu proyecto si aún no lo hiciste. Luego, continúa con estas instrucciones.

gdcloud

  1. Enumera todas las imágenes personalizadas y su tamaño de disco mínimo:

    gdcloud compute images list \
        --project=PROJECT \
    
  2. Selecciona una imagen personalizada para crear el disco de la VM:

    gdcloud compute disks create BOOT_DISK_NAME \
        --project=PROJECT \
        --size=DISK_SIZE \
        --image=IMAGE_NAME \
        --image-project=PROJECT
    

    Reemplaza las variables con las siguientes definiciones:

    VariableDefinición
    BOOT_DISK_NAME Nombre del disco de arranque.
    PROJECT Es el proyecto de GDC en el que se creará el disco de arranque.
    DISK_SIZE El tamaño del disco de arranque debe ser al menos el minimumDiskSize de la imagen.
    IMAGE_NAME Es el nombre de la imagen.

kubectl

  1. Enumera todas las imágenes personalizadas:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
    
  2. Obtén el minimumDiskSize de una imagen personalizada específica. El tamaño del disco de arranque personalizado creado debe ser al menos minimumDiskSize:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system \
      IMAGE_NAME -ojsonpath='{.spec.minimumDiskSize}'
    
  3. Crea un objeto VirtualMachineDisk:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        apply --namespace PROJECT -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineDisk
    metadata:
      name: BOOT_DISK_NAME
    spec:
      source:
        image:
          name: IMAGE_NAME
          namespace: PROJECT
      size: DISK_SIZE
    EOF
    

    Reemplaza las variables con las siguientes definiciones:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API de Management
    IMAGE_NAME Nombre de la imagen elegida en el comando list all custom images.
    PROJECT Es el proyecto de GDC en el que se creará el disco de arranque.
    BOOT_DISK_NAME Nombre del disco de arranque.
    DISK_SIZE El tamaño del disco de arranque debe ser al menos el minimumDiskSize de la imagen.

Para reemplazar un disco de arranque, consulta la página Reemplaza un disco de arranque.