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 una personalizada. GDC crea automáticamente un disco persistente de arranque cuando crea una instancia de VM. Si necesitas discos de almacenamiento de datos adicionales para tus instancias, añade un disco persistente a tu máquina virtual.

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

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 del dispositivo aislado de GDC usan la CLI gdcloud o kubectl y requieren un entorno de sistema operativo (SO).

Obtener la ruta del archivo kubeconfig

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

  1. Busca el nombre del servidor de la API Management o pregunta a tu administrador de plataforma cuál es.

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

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

Solicitar 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 pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne el rol Administrador de máquinas virtuales de proyectos (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 un disco de arranque a partir de una imagen

Puedes crear un disco persistente de arranque independiente fuera del proceso de creación de instancias y vincularlo a una instancia después. En esta sección se muestra cómo crear un disco de arranque a partir de una imagen de SO proporcionada por GDC o de una imagen de SO personalizada.

Crear 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, consulta la lista de imágenes disponibles. A continuación, crea un disco de arranque con la imagen proporcionada.

gdcloud

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

    gdcloud compute images list
    

    Este comando incluye tanto las imágenes proporcionadas por el dispositivo GDC con air gap como las imágenes personalizadas. Elige uno 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
    

    Sustituye las variables con las siguientes definiciones:

    VariableDefinición
    BOOT_DISK_NAME El nombre del disco de arranque.
    PROJECT 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 Nombre de la imagen.

kubectl

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

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace vm-system
    
  2. Obtiene 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
    

    Sustituye las variables con las siguientes definiciones:

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

Crear un disco de arranque a partir de una imagen personalizada

Una 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 gestión de identidades y accesos necesarios para acceder a las imágenes personalizadas de tu proyecto (si aún no lo has hecho). A continuación, sigue estas instrucciones.

gdcloud

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

    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
    

    Sustituye las variables con las siguientes definiciones:

    VariableDefinición
    BOOT_DISK_NAME El nombre del disco de arranque.
    PROJECT 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 Nombre de la imagen.

kubectl

  1. Lista todas las imágenes personalizadas:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachineimages.virtualmachine.gdc.goog --namespace PROJECT
    
  2. Obtener el minimumDiskSize de una imagen personalizada específica. El tamaño del disco de arranque personalizado que se cree 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 --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
    

    Sustituye las variables con las siguientes definiciones:

    VariableDefinición
    MANAGEMENT_API_SERVER El archivo kubeconfig del servidor de la API Management.
    IMAGE_NAME El nombre de la imagen elegida en el comando listar todas las imágenes personalizadas.
    PROJECT El proyecto de GDC en el que se creará el disco de arranque.
    BOOT_DISK_NAME El nombre del disco de arranque.
    DISK_SIZE El tamaño del disco de arranque debe ser al menos el minimumDiskSize de la imagen.

Para sustituir un disco de arranque, consulta la página Sustituir un disco de arranque.