Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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 el dispositivo aislado de GDC 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 o kubectl, y requieren un entorno de sistema operativo (SO).
Acceso al servidor de la API de Management Sigue los pasos de la CLI en Acceder para acceder al servidor de la API de Management.
Solicita permisos y acceso
Para realizar las tareas que se indican en esta página, debes tener los roles de administrador de imágenes de máquinas virtuales del proyecto y administrador de máquinas virtuales del proyecto. Sigue los pasos para verificar o pídele a tu administrador de IAM del proyecto que te asigne los roles de administrador de máquinas virtuales del proyecto (project-vm-admin) y administrador de imágenes de máquinas virtuales del proyecto (project-vm-image-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).
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.
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 es 1h.
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:
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 12 GiB para un disco virtual con un tamaño original del sistema de archivos de 10 GiB.
Supervisa el progreso de la importación consultando el estado del objeto VirtualMachineImageImport:
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.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eYou can import existing virtual disks (golden disks/images) from your on-premises environment into the GDC air-gapped appliance, saving time when creating new virtual machines.\u003c/p\u003e\n"],["\u003cp\u003eThe import tool supports both RAW and QCOW image formats and can be done through the \u003ccode\u003egdcloud\u003c/code\u003e CLI or the Virtual Machine Manager API, requiring the "Project VirtualMachine Image Admin" role.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egdcloud\u003c/code\u003e CLI allows direct import from your workstation, while the API requires you to first upload the virtual disk to an object storage bucket named \u003ccode\u003evm-images-bucket\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eimport\u003c/code\u003e command via the \u003ccode\u003egdcloud\u003c/code\u003e CLI ensures the disk has necessary packages, such as the guest environment for SSH or RDP and on Linux packages for NTP and \u003ccode\u003ecloud-init\u003c/code\u003e, for proper instance operation in GDC.\u003c/p\u003e\n"],["\u003cp\u003eAfter a successful import, a virtual machine instance can be created that utilizes the imported image.\u003c/p\u003e\n"]]],[],null,["# Import virtual disks\n\nIf you have virtual disks in your on-premises environment with software and\nconfigurations that you need, occasionally referred to as *golden disks* or\n*golden images*, you can save time by importing those virtual disks into\nGDC air-gapped appliance and using the resulting image to create virtual\nmachines. The import tool supports RAW and QCOW image formats.\n\nBefore you begin\n----------------\n\nBefore continuing, ensure that you have the following:\n\n- The [gdcloud CLI](/distributed-cloud/hosted/docs/latest/appliance/resources/gdcloud-overview) downloaded, installed, and configured. All CLI commands for GDC use the `gdcloud` or `kubectl` CLI, and require an operating system (OS) environment.\n\n\u003c!-- --\u003e\n\n- Access to the Management API server. Follow the CLI steps in\n [Sign in](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/iam/sign-in#cli)\n to sign in to the Management API server.\n\n | **Note:** Record the path to the generated file, such as `/tmp/org-1-admin-kubeconfig.yaml`. Use the path to replace \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_KUBECONFIG\u003c/var\u003e in these instructions.\n\n### Request permissions and access\n\nTo perform the tasks listed in this page, you must have the Project\nVirtualMachine Admin and Project VirtualMachine Image Admin roles. Follow the\nsteps to either\n[verify](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vms/preparation#verify-user-access)\nor have your Project IAM Admin\n[assign](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vms/preparation#grant-user-access-vm-resources)\nyou the Project VirtualMachine Admin (`project-vm-admin`) and the Project\nVirtualMachine Image Admin (`project-vm-image-admin`) roles in the namespace\nof the project where the VM resides.\n\nFor VM operations using the GDC console or the gdcloud CLI,\nrequest your Project IAM Admin to assign you the roles listed in the previous\nparagraph and the Project Viewer (`project-viewer`) role.\n\nImport virtual disks\n--------------------\n\nYou can import your virtual disks using either the\ngdcloud CLI or the\n[Virtual Machine Manager API](/distributed-cloud/hosted/docs/latest/appliance/apis/service/virtualmachine/vmm-api-overview).\n\nTo get the permissions you need to import images, ask your Organization IAM\nAdmin to grant you the Project VirtualMachine Image Admin\n(`project-vm-image-admin`) role for your project. \n\n### gdcloud\n\nUse the `gdcloud compute images import` command to create a bootable image.\n\nThe `import` command ensures that the disk has the required packages,\nincluding the guest environment, which is required to configure credentials\nfor connecting to the instance using secure shell (SSH) on Linux and Remote\nDesktop Protocol (RDP) on Windows.\n\nOn Linux, the command also installs packages for network time protocol (NTP)\nand `cloud-init` for the instance to run properly in\nGDC.\n\nYou can import virtual disk files directly from your workstation. The import\ntool automatically uploads the file to an object storage bucket in your\nproject. \n\n gdcloud compute images import \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e \\\n --source-file=\u003cvar translate=\"no\"\u003eSOURCE_FILE\u003c/var\u003e \\\n --os=\u003cvar translate=\"no\"\u003eIMAGE_OS\u003c/var\u003e \\\n --timeout=\u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e\n\nReplace the following variables:\n\n- \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e: the name of your destination image. The name must be no longer than 35 characters.\n- \u003cvar translate=\"no\"\u003eSOURCE_FILE\u003c/var\u003e: your virtual disk file. This file is a local file on your workstation. You can provide an absolute or relative path.\n- \u003cvar translate=\"no\"\u003eIMAGE_OS\u003c/var\u003e: the OS on the disk to import.\n- \u003cvar translate=\"no\"\u003eTIMEOUT\u003c/var\u003e: the time an import can last before it fails with \"TIMEOUT\". For example, if you specify `2h`, the process fails after 2 hours. The default timeout is `1h`.\n\nThe upload operation can take an extended period of time depending on the size\nof your virtual disk and the speed of your network connection. The import\noperation can take tens of minutes to run depending on the size of the disk.\n\n\u003cbr /\u003e\n\n### API\n\nBefore starting the import process with the API, you need to upload your\nvirtual disk to an object storage bucket named `vm-images-bucket`. To create\nan object storage bucket, see\n[Create storage buckets for projects](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/create-storage-buckets).\n\nTo import a virtual disk through the API, do the following:\n\n1. Create a `VirtualMachineImageImport` object in the Management API server to start the\n image import process:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_KUBECONFIG\u003c/var\u003e \\\n apply -n \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e -f - \u003c\u003cEOF\n apiVersion: virtualmachine.gdc.goog/v1\n kind: VirtualMachineImageImport\n metadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eIMAGE_NAME\u003c/span\u003e\u003c/var\u003e\n namespace: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003ePROJECT_ID\u003c/span\u003e\u003c/var\u003e\n spec:\n source:\n objectStorage:\n bucketRef:\n name: vm-images-bucket\n objectName: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eSOURCE_FILE\u003c/span\u003e\u003c/var\u003e\n imageMetadata:\n name: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eIMAGE_NAME\u003c/span\u003e\u003c/var\u003e\n operatingSystem: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eOPERATING_SYSTEM\u003c/span\u003e\u003c/var\u003e\n minimumDiskSize: \u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-l devsite-syntax-l-Scalar devsite-syntax-l-Scalar-Plain\"\u003eDISK_SIZE\u003c/span\u003e\u003c/var\u003e\n EOF\n\n Replace the following variables:\n\n2. Monitor the progress of the import by querying the status of the\n `VirtualMachineImageImport` object:\n\n kubectl --kubeconfig \u003cvar translate=\"no\"\u003eMANAGEMENT_API_SERVER_KUBECONFIG\u003c/var\u003e \\\n get virtualmachineimageimport --namespace \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n \u003cvar translate=\"no\"\u003eIMAGE_NAME\u003c/var\u003e -o jsonpath='{.status}'\n\n### Clean up resources\n\nThe import process involves uploading your virtual disk file to object storage.\nIf you use the gdcloud CLI, the object is cleaned up when the command\nfinishes, whether or not it was successful. If the command is interrupted, or\nthe image import is done with the API, the virtual disk file might remain in\nthe object storage bucket named `vm-images-bucket` until you manually delete\nthe file.\n\nWhat's next\n-----------\n\nCreate a new VM instance that uses your image in the page,\n[Create and start a VM](/distributed-cloud/hosted/docs/latest/appliance/application/ao-user/vms/create-a-vm/create-and-start)."]]