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 si los importas en Distributed Cloud y usas la imagen resultante para crear máquinas virtuales. La herramienta de importación admite los formatos de imagen RAW y QCOW.
Antes de comenzar
Antes de continuar, asegúrate de tener lo siguiente:
- La CLI de gcloud descargada, instalada y configurada. Todos los comandos de la CLI de GDC usan la CLI de
gdcloud
okubectl
, y requieren un entorno de sistema operativo (SO).
Acceso de inicio de sesión al clúster de Kubernetes Sigue los pasos de la CLI en Acceder para acceder al clúster de Kubernetes.
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, pídele al administrador de IAM del proyecto que te asigne los roles que se indican en el párrafo anterior y el rol de visualizador del proyecto (project-viewer
).
Importar discos virtuales
Puedes importar tus discos virtuales con la CLI de gcloud o la API de Virtual Machine Manager.
Para obtener los permisos que necesitas para importar imágenes, pídele al administrador de IAM de tu organización que te otorgue el rol de administrador de imágenes de máquinas virtuales del proyecto (project-vm-image-admin
) para tu proyecto.
gdcloud
Usa el comando gdcloud compute images import
para crear una imagen de arranque.
El comando import
garantiza que el disco tenga los paquetes necesarios, incluido el entorno invitado, que se requiere para configurar credenciales para conectarse a la instancia con 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 hora de red (NTP) y cloud-init
para que la instancia se ejecute correctamente en GDC.
Puedes importar archivos de discos virtuales directamente desde tu estación de trabajo. La herramienta de importación sube automáticamente el archivo a un bucket de almacenamiento de objetos en tu proyecto.
gdcloud compute images import IMAGE_NAME \
--source-file=SOURCE_FILE \
--os=IMAGE_OS \
--timeout=TIMEOUT
Reemplaza las siguientes variables:
- IMAGE_NAME: El nombre de la imagen de destino. El nombre no debe tener más de 35 caracteres.
- SOURCE_FILE: El archivo del disco virtual. Este archivo es un archivo local en tu estación de trabajo. Puedes proporcionar una ruta de acceso absoluta o relativa.
- IMAGE_OS: Es el SO del disco que se importará.
- TIMEOUT: Es el tiempo que puede durar una importación antes de que falle con el mensaje "TIMEOUT". Por ejemplo, si especificas
2h
, el proceso falla después de 2 horas. El tiempo de espera predeterminado es1h
.
La operación de carga puede tardar un tiempo prolongado según el tamaño del disco virtual y la velocidad de la conexión de red. La importación puede tardar varios minutos en ejecutarse en función del tamaño del disco.
API
Antes de comenzar el proceso de importación con la API, debes subir tu disco virtual a un bucket de almacenamiento de objetos llamado vm-images-bucket
. Para crear un bucket de almacenamiento de objetos, consulta Crea buckets de almacenamiento para proyectos.
Para importar un disco virtual a través de la API, haz lo siguiente:
Crea un objeto
VirtualMachineImageImport
en el servidor de la API de Management 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: OPERATING_SYSTEM minimumDiskSize: DISK_SIZE EOF
Reemplaza las siguientes variables:
Variable Descripción IMAGE_NAME Es el nombre de la imagen que se importará. El nombre no debe tener más de 35 caracteres. PROJECT_ID Es el ID del proyecto en el que deseas importar la imagen. SOURCE_FILE Nombre del archivo fuente que contiene la carga del disco virtual en el almacenamiento de objetos. Este valor es la sección de la ruta de almacenamiento de objetos después de vm-images-bucket/
.OPERATING_SYSTEM Es el SO del disco que se importará. DISK_SIZE Es el tamaño mínimo que debe tener un disco para crearse con esta imagen. Te recomendamos que uses un búfer de al menos el 20% sobre el tamaño del sistema de archivos de la imagen original. Por ejemplo, usa al menos 12Gi
para un disco virtual con un tamaño original del sistema de archivos de 10 Gi.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}'
Limpia los recursos
El proceso de importación implica subir tu archivo de disco virtual al almacenamiento de objetos.
Si usas la CLI de gdcloud, el objeto se limpia cuando finaliza el comando, ya sea que se haya realizado correctamente o no. Si se interrumpe el comando o la importación de la imagen se realiza con la API, es posible que el archivo de disco virtual permanezca en el bucket de almacenamiento de objetos llamado vm-images-bucket
hasta que borres el archivo de forma manual.
¿Qué sigue?
Crea una instancia de VM nueva que use tu imagen en la página Crea y, luego, inicia una VM.