En este documento se describen los pasos para importar imágenes de disco de máquinas virtuales (VMs) a Google Distributed Cloud (GDC) air-gapped.
Importa tus discos virtuales, a menudo denominados discos maestros o imágenes maestras, a Distributed Cloud para ahorrar tiempo y usa la imagen resultante para crear máquinas virtuales. La herramienta de importación admite los formatos de imagen RAW y QCOW.
Este documento está dirigido a los desarrolladores de grupos de administradores de plataformas u operadores de aplicaciones que crean imágenes de máquinas virtuales. Para obtener más información, consulta el artículo Audiencias para la documentación de GDC air-gapped.
Antes de empezar
Antes de continuar, asegúrate de que tienes lo siguiente:
Preparar el entorno
- La CLI de gdcloud
descargada, instalada y configurada. Todos los comandos de la CLI para GDC usan la CLI de
gdcloudokubectl, y requieren un entorno de sistema operativo.
Solicitar roles de IAM
Ponte en contacto con el administrador de IAM de tu proyecto para solicitar los siguientes roles en tu proyecto:
Administrador de proyectos de máquinas virtuales (
project-vm-admin): crea, modifica, lista y elimina máquinas virtuales en el espacio de nombres del proyecto.Visualizador de proyectos(
project-viewer): visualiza todos los recursos en el espacio de nombres del proyecto.Administrador de proyectos de imágenes de máquinas virtuales (
project-vm-image-admin): crea, lista y elimina imágenes de máquinas virtuales en el espacio de nombres del proyecto.
Todos los roles de máquinas virtuales deben enlazarse al espacio de nombres del proyecto en el que reside la máquina virtual. Sigue los pasos para verificar tu acceso.
Importar discos virtuales
Puedes importar archivos de disco virtual directamente desde tu estación de trabajo. La herramienta de importación sube automáticamente el archivo a un bucket de almacenamiento de objetos de tu proyecto.
Para importar tus discos virtuales, usa la CLI gdcloud o la API de gestor de máquinas virtuales.
gdcloud
El comando import comprueba que el disco tenga los paquetes necesarios para configurar las credenciales de conexión a la instancia mediante Secure Shell (SSH) y el Protocolo de Escritorio Remoto (RDP). Esto incluye el entorno de invitado.
El comando también instala paquetes para el Protocolo de Tiempo de Red (NTP) y cloud-init para que la instancia se ejecute correctamente en GDC.
- Para crear una imagen de arranque, usa el comando
gdcloud compute images import:
gdcloud compute images import IMAGE_NAME \
--source-file=SOURCE_FILE \
--os=IMAGE_OS \
--timeout=TIMEOUT
Sustituye las siguientes variables:
- IMAGE_NAME: el nombre de la imagen de destino. El nombre no puede tener más de 35 caracteres.
- SOURCE_FILE: el archivo de disco virtual. Este archivo es un archivo local de tu estación de trabajo. Puedes proporcionar una ruta absoluta o relativa.
- IMAGE_OS: el sistema operativo del disco que se va a importar.
- TIMEOUT: el tiempo que puede durar una importación antes de que falle
con "TIMEOUT". Por ejemplo, si especificas
2h, el proceso fallará después de 2 horas. El tiempo de espera predeterminado es1h.
La operación de subida puede tardar bastante tiempo en función del tamaño del disco virtual y de la velocidad de la conexión de red. La operación de importación puede tardar decenas de minutos en ejecutarse en función del tamaño del disco.
API
Para importar un disco virtual a través de la API, sigue estos pasos:
Crea un objeto
VirtualMachineImageImporten el servidor de la API de gestión para iniciar el proceso de importación de imágenes:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT_ID \ apply -f - <<EOF apiVersion: virtualmachine.gdc.goog/v1 kind: VirtualMachineImageImport metadata: name: IMAGE_NAME namespace: PROJECT_ID spec: source: objectStorage: bucketRef: name: vm-images-bucket objectName: SOURCE_FILE imageMetadata: name: IMAGE_NAME operatingSystem: IMAGE_OS minimumDiskSize: DISK_SIZE EOFSustituye las siguientes variables:
- IMAGE_NAME: el nombre de la imagen que se va a importar. El nombre no puede tener más de 35 caracteres.
- PROJECT_ID: el ID del proyecto en el que quieres importar la imagen.
- SOURCE_FILE: el nombre del archivo de origen que contiene la subida del disco virtual al almacenamiento de objetos. Este valor es la sección de la ruta de almacenamiento de objetos que va después de
vm-images-bucket/. - IMAGE_OS: el sistema operativo del disco que se va a importar.
- DISK_SIZE: el tamaño mínimo que debe tener un disco para crearse con esta imagen. Usa al menos un 20% de margen por encima del tamaño del sistema de archivos de la imagen original. Por ejemplo, usa al menos
12Gpara un disco virtual con un tamaño de sistema de archivos original de 10 GB.
Supervisa el progreso de la importación consultando el estado del objeto
VirtualMachineImageImport:kubectl --kubeconfig MANAGEMENT_API_SERVER \ -n PROJECT_ID \ get virtualmachineimageimport.virtualmachine.gdc.goog IMAGE_NAME \ -o jsonpath='{.status}'
Eliminar los recursos
El proceso de importación consiste en subir el archivo de disco virtual al almacenamiento de objetos.
Si usas la CLI gdcloud, el objeto se elimina cuando finaliza el comando, independientemente de si se ha completado correctamente o no. Si se interrumpe el comando o si realizas la importación de imágenes con la API, el archivo de disco virtual puede permanecer en el bucket de almacenamiento de objetos llamado vm-images-bucket hasta que lo elimines manualmente.
Siguientes pasos
- Revisar las imágenes compatibles con GDC
- Crear e iniciar una instancia de máquina virtual que use tu imagen.
- Crear un disco de arranque para tu máquina virtual.