Si tienes discos virtuales en tu entorno local con software y configuraciones que necesitas (a veces denominados discos dorados o imágenes doradas), puedes ahorrar tiempo importando esos discos virtuales al dispositivo aislado de GDC y usando la imagen resultante para crear máquinas virtuales. La herramienta de importación admite los formatos de imagen RAW y QCOW.
Antes de empezar
Antes de continuar, asegúrate de que tienes lo siguiente:
- La CLI de gdcloud
se ha descargado, instalado y configurado. Todos los comandos de la CLI de GDC usan la CLI
gdcloud
okubectl
y requieren un entorno de sistema operativo (SO).
Acceso al servidor de la API Management. Sigue los pasos de la CLI que se indican en Iniciar sesión para iniciar sesión en el servidor de la API Management.
Solicitar permisos y acceso
Para realizar las tareas que se indican en esta página, debes tener los roles de administrador de máquinas virtuales de proyecto y administrador de imágenes de máquinas virtuales de proyecto. Sigue los pasos para verificar o pide al administrador de gestión de identidades y accesos de proyectos que te asigne los roles Administrador de VirtualMachine de proyectos (project-vm-admin
) y Administrador de imágenes de VirtualMachine de proyectos (project-vm-image-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 los roles que se indican en el párrafo anterior y el rol Lector de proyectos (project-viewer
).
Importar discos virtuales
Puedes importar tus discos virtuales mediante la CLI de gdcloud o la API Virtual Machine Manager.
Para obtener los permisos que necesitas para importar imágenes, pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Administrador de imágenes de máquina virtual de proyecto (project-vm-image-admin
) en tu proyecto.
gdcloud
Usa el comando gdcloud compute images import
para crear una imagen de arranque.
El comando import
asegura que el disco tenga los paquetes necesarios, incluido el entorno invitado, que se requiere para configurar las credenciales para conectarse a la instancia mediante Secure Shell (SSH) en Linux y el protocolo de escritorio remoto (RDP) en Windows.
En Linux, 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.
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 segmento de almacenamiento de objetos de tu proyecto.
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. Puede proporcionar una ruta absoluta o relativa.
- IMAGE_OS: el SO 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á al cabo de 2 horas. El tiempo de espera predeterminado es1h
.
La operación de subida puede tardar mucho 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
Antes de iniciar el proceso de importación con la API, debes subir tu disco virtual a un segmento de almacenamiento de objetos llamado vm-images-bucket
. Para crear un segmento de almacenamiento de objetos, consulta el artículo Crear segmentos de almacenamiento para proyectos.
Para importar un disco virtual a través de la API, sigue estos pasos:
Crea un objeto
VirtualMachineImageImport
en el servidor de la API Management para iniciar el proceso de importación de imágenes:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ apply -n PROJECT_ID -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: OPERATING_SYSTEM minimumDiskSize: DISK_SIZE EOF
Sustituye las siguientes variables:
Variable Descripción IMAGE_NAME 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 quieras importar la imagen. SOURCE_FILE 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 aparece después de vm-images-bucket/
.OPERATING_SYSTEM El SO del disco que se va a importar. DISK_SIZE Tamaño mínimo que debe tener un disco para poder crearse con esta imagen. Te recomendamos que utilices un margen de al menos el 20% sobre el tamaño del sistema de archivos de la imagen original. Por ejemplo, usa al menos 12 GiB para un disco virtual con un tamaño de sistema de archivos original de 10 GiB. Para monitorizar el progreso de la importación, consulta el estado del objeto
VirtualMachineImageImport
:kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ get virtualmachineimageimport --namespace PROJECT_ID \ 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 de gdcloud, el objeto se limpia cuando finaliza el comando, tanto si se ha completado correctamente como si no. Si se interrumpe el comando o la importación de la imagen se realiza con la API, el archivo de disco virtual puede permanecer en el contenedor de almacenamiento de objetos llamado vm-images-bucket
hasta que lo elimines manualmente.
Siguientes pasos
Crea una instancia de VM que use tu imagen en la página Crear y poner en marcha una VM.