Cuando creas una instancia de VM, Distributed Cloud crea automáticamente un disco persistente de arranque con configuraciones predeterminadas. También debes crear un disco de arranque para la VM. Puedes usar una imagen pública o una imagen personalizada.
Si necesitas discos de almacenamiento de datos adicionales para tus instancias, agrega un disco persistente a tu VM.
Este documento está dirigido a los desarrolladores de grupos de administradores de plataformas o de operadores de aplicaciones que crean discos de arranque personalizados para VMs. Para obtener más información, consulta Públicos de la documentación de Google Distributed Cloud aislado.
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:
Accede y genera el archivo kubeconfig para el servidor de la API de Management si no tienes uno.
Usa la ruta de acceso al archivo kubeconfig del servidor de la API de Management para reemplazar
MANAGEMENT_API_SERVERen estas instrucciones.
Solicita roles de IAM
Comunícate con el administrador de IAM del proyecto para solicitar los siguientes roles en tu proyecto:
Administrador de proyectos de máquinas virtuales (
project-vm-admin): Crea, modifica, enumera y borra VMs estándar y de alto rendimiento en el espacio de nombres del proyecto.Visualizador del proyecto(
project-viewer): Puede ver todos los recursos dentro del espacio de nombres del proyecto.
Todos los roles de VM deben vincularse al espacio de nombres del proyecto en el que reside la VM. Sigue los pasos para verificar tu acceso.
Crea un disco de arranque
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
Enumera todas las imágenes disponibles y su tamaño de disco mínimo:
gdcloud compute images listEste comando incluye imágenes proporcionadas por Distributed Cloud y personalizadas. Elige cualquiera de los dos en el espacio de nombres
vm-system.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-systemReemplaza las variables con las siguientes definiciones:
Variable Definición BOOT_DISK_NAMEEs el nombre del disco de arranque. PROJECTEs el proyecto de GDC en el que se creará el disco de arranque. DISK_SIZEEl tamaño del disco de arranque debe ser al menos el minimumDiskSizede la imagen.IMAGE_NAMEEs el nombre de la imagen.
kubectl
Enumera todas las imágenes disponibles proporcionadas por GDC:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.googObtén el
minimumDiskSizede una imagen específica proporcionada por GDC. El tamaño del disco de arranque personalizado creado debe ser al menos el siguiente:minimumDiskSizekubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'Crea un objeto
VirtualMachineDisk:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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 EOFReemplaza las variables con las siguientes definiciones:
Variable Definición MANAGEMENT_API_SERVEREs el archivo kubeconfig del servidor de la API de administración. IMAGE_NAMEEs el nombre de la imagen. PROJECTEs el proyecto de GDC en el que se creará el disco de arranque. BOOT_DISK_NAMEEs el nombre del disco de arranque. DISK_SIZEEl tamaño del disco de arranque debe ser al menos el minimumDiskSizede 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
Enumera todas las imágenes personalizadas y su tamaño de disco mínimo:
gdcloud compute images list \ --project=PROJECT \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=PROJECTReemplaza las variables con las siguientes definiciones:
Variable Definición BOOT_DISK_NAMEEs el nombre del disco de arranque. PROJECTEs el proyecto de GDC en el que se creará el disco de arranque. DISK_SIZEEl tamaño del disco de arranque debe ser al menos el minimumDiskSizede la imagen.IMAGE_NAMEEs el nombre de la imagen.
API
Enumera todas las imágenes personalizadas:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ get virtualmachineimages.virtualmachine.gdc.googObtén el
minimumDiskSizede una imagen personalizada específica. El tamaño del disco de arranque personalizado creado debe ser al menosminimumDiskSize:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n vm-system \ get virtualmachineimages.virtualmachine.gdc.goog IMAGE_NAME \ -ojsonpath='{.spec.minimumDiskSize}'Crea un objeto
VirtualMachineDisk:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT \ apply -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 EOFReemplaza las variables con las siguientes definiciones:
Variable Definición MANAGEMENT_API_SERVEREs el archivo kubeconfig del servidor de la API de administración. IMAGE_NAMENombre de la imagen elegida en el comando list all custom images. PROJECTEs el proyecto de GDC en el que se creará el disco de arranque. BOOT_DISK_NAMEEs el nombre del disco de arranque. DISK_SIZEEl tamaño del disco de arranque debe ser al menos el minimumDiskSizede la imagen.