Crear un disco de arranque personalizado

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

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

Crea un disco de arranque a partir de una imagen

Puedes crear un disco de arranque persistente 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 imágenes proporcionadas por Distributed Cloud y personalizadas. Elige cualquiera 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
    

    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 Es 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 personalizada, primero debes crear una imagen personalizada en el mismo proyecto si aún no tienes 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.

API

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