Crear un disco de arranque personalizado

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 un disco de arranque

Cuando creas una instancia de máquina virtual, también debes crear un disco de arranque para la 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.

Crear un disco de arranque a partir de una imagen

Puedes crear un disco persistente de arranque independiente fuera de la 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 imágenes proporcionadas por Distributed Cloud como imágenes personalizadas. Elige uno de los dos en el espacio de nombres vm-system.

  2. Selecciona una imagen proporcionada por Distributed Cloud 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 personalizada, primero debes crear una imagen personalizada en el mismo proyecto si aún no tienes ninguna.

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.

API

  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.