Importa dispositivos virtuales OVF

Un dispositivo virtual es un paquete que contiene imágenes de disco y configuración de hardware para una máquina virtual.

El OVF es un formato para dispositivos virtuales muy usado y popular. Cuando empaquetas dispositivos virtuales en el formato OVF, se genera un paquete OVF. Un paquete OVF es una carpeta que contiene un archivo descriptor .ovf y una colección de otros recursos, como discos. Cuando un paquete OVF se archiva en un archivo único, se lo denomina archivo OVA.

Puedes importar máquinas virtuales que estén en formato OVF a Compute Engine, ya sea un paquete OVF o un archivo único OVA. Para verificar si el uso de un dispositivo virtual es la mejor opción en tu caso práctico, revisa la sección sobre la elección de un método de importación.

Cuando importas un dispositivo virtual, el proceso de importación usa la información almacenada en el archivo descriptor para crear y, luego, iniciar una instancia de VM en Compute Engine.

Antes de comenzar

Habilita la API de Cloud Build

La herramienta de importación de dispositivos virtuales usa Cloud Build. Habilita el servicio Cloud Build en tu proyecto y otorga permisos a la cuenta de servicio de Cloud Build para crear y administrar recursos de procesamiento.

Console

Habilita la API de Cloud Build.

Habilitar la API de Cloud Build

Cuando habilitas la API de Cloud Build desde Console, Compute Engine otorga las siguientes funciones a la cuenta de servicio de Cloud Build para que este servicio pueda importar instancias en Compute Engine:

  • roles/iam.serviceAccountTokenCreator
  • roles/compute.admin
  • roles/iam.serviceAccountUser

gcloud

Para configurar el servicio de Cloud Build con gcloud, sigue estos pasos:

  1. Habilita Cloud Build.

    gcloud services enable cloudbuild.googleapis.com
    
  2. Agrega la función compute.admin a la cuenta de servicio para la API de Cloud Build.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/compute.admin
    
  3. Agrega la función iam.serviceAccountUser a la cuenta de servicio para la API de Cloud Build.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountUser
    
  4. Agrega la función iam.serviceAccountTokenCreator a la cuenta de servicio para la API de Cloud Build.

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountTokenCreator
    

    en la que:

Requisitos

Requisitos de la máquina virtual de origen

La máquina virtual que se usa para crear el archivo OVF debe cumplir los siguientes requisitos:

  • Los discos virtuales deben estar en los formatos VMDK o VHD.
  • Los discos virtuales deben configurarse con inicio MBR. No se admite UEFI.
  • Los discos virtuales no deben estar encriptados.

Para verificar que tu máquina virtual cumpla con los requisitos, puedes ejecutar la herramienta de verificación previa.

Requisitos del archivo OVF

El archivo OVF debe cumplir los siguientes requisitos:

  • Los archivos OVF deben proporcionar portabilidad de Level 1 como se describe en el documento de especificación de OVF. Los dispositivos virtuales que cumplen con la portabilidad de Level 2 se pueden importar, pero las extensiones personalizadas, como los detalles específicos del hipervisor de origen, se ignoran durante el proceso de importación.
  • El archivo OVF debe contener una sola máquina virtual. Si hay más de una máquina virtual presente, solo se importa la primera.
  • El primer disco del archivo OVF debe ser de inicio.

Configuración importada por la herramienta

El estándar OVF especifica el proceso para empaquetar dispositivos virtuales de una manera que no depende del proveedor de virtualización. Los paquetes de dispositivos virtuales OVF contienen un archivo descriptor .ovf y una colección de otros recursos, como discos virtuales.

Cuando importas un dispositivo virtual OVF a Compute Engine, se procesa y se importa la siguiente configuración del archivo descriptor:

  • Información de discos virtuales recuperada del elemento DiskSection del paquete OVF
  • CPU y memoria recuperadas de la sección ResourceAllocationSection del paquete OVF

    Si las configuraciones de CPU o memoria están fuera de los límites del rango admitido en Compute Engine, el proceso de importación establece los valores al máximo que admite Compute Engine.

  • Detalles del disco de arranque recuperados del elemento BootDeviceSection del paquete OVF

  • Detalles del SO invitado recuperados del elemento OperatingSystemSection del paquete OVF

    La información del SO invitado se usa para instalar los controladores correctos y los paquetes del entorno invitado en la instancia importada. Si la información del SO invitado que se encuentra en el OVF es incorrecta, la importación falla. Puedes usar la marca --os para anular la información del SO invitado.

Las instancias importadas siempre se crean con un adaptador de red único, sin IP externa. Este adaptador de red único se usa sin importar la configuración de red especificada en el archivo OVF.

Limitaciones

Cuando se importa un dispositivo virtual, las siguientes secciones del archivo descriptor se ignoran (no se importan):

  • NetworkSection
  • AnnotationSection
  • ProductSection
  • EulaSection
  • StartupSection
  • DeploymentOptionSection
  • InstallSection
  • EnvironmentFilesSection
  • SharedDiskSection
  • ScaleOutSection
  • PlacementGroupSection
  • PlacementSection
  • EncryptionSection

Sistemas operativos compatibles

Especifica uno de los siguientes sistemas operativos en la sección OperatingSystemSection de tu archivo descriptor:

Distribuciones y versiones de Linux

  • CentOS 6, CentOS 7
  • Debian 8, Debian 9
  • Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7
  • Ubuntu 14.04 LTS, Ubuntu 16.04 LTS

Para todas las distribuciones de Linux, el disco de arranque debe tener instalado GRUB.

Versiones de Windows

  • Windows Server 2008 R2
  • Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core
  • Windows Server 2016, Windows Server 2016 Core
  • Windows 7 SP1 x64 (solo compatible con BYOL)
  • Windows 10 Enterprise x64 (solo compatible con BYOL)

Para todos los sistemas operativos Windows, se debe instalar la versión 3 de PowerShell o una posterior. Las versiones de PowerShell anteriores a la 3.0 pueden causar problemas con las secuencias de comandos de inicio y cierre que se usan durante el proceso de importación.

Compatibilidad para usar tu propia licencia (BYOL)

De manera predeterminada, los archivos OVF que usan los sistemas operativos Windows y Red Hat Enterprise Linux (RHEL) se importan y configuran para usar la facturación a pedido del SO premium, que genera cargos adicionales.

Si prefieres usar tus propias suscripciones de software para RHEL, puedes importar dispositivos virtuales como dispositivos con licencia BYOL.

Para importar dispositivos como dispositivos con licencia BYOL, especifica uno de los siguientes valores de BYOL para la marca [--os] cuando ejecutes el comando de importación.

  • rhel-6-byol
  • rhel-7-byol
  • windows-2008r2-byol
  • windows-2012-byol
  • windows-2012r2-byol
  • windows-2016-byol
  • windows-7-byol
  • windows-10-byol

Importa un archivo OVA

  1. Agrega el dispositivo virtual a Cloud Storage.
  2. Para importar un archivo OVA de Cloud Storage a Compute Engine, usa el comando gcloud beta compute instances import.

    gcloud beta compute instances import [INSTANCE_NAME] \
      --source-uri=gs:[PATH_TO_OVA_FILE]
    

    en el que:

    • [INSTANCE_NAME] es el nombre de la instancia que deseas crear.
    • [PATH_TO_OVA_FILE] es la ruta al archivo OVA en Cloud Storage.

    Por ejemplo, para importar un archivo OVA Ubuntu.ova y crear una instancia llamada my-instance, ejecuta el siguiente comando:

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/Ubuntu.ova
    

    En algunos casos, se te podría solicitar que proporciones un valor para el sistema operativo. Para especificar el sistema operativo, debes agregar la marca --os. Por ejemplo, para importar un archivo OVA Ubuntu.ova y crear una instancia llamada my-instance que ejecute Ubuntu 16.04, debes usar el siguiente comando:

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604
     --source-uri=gs://my-bucket/Ubuntu.ova
    

Importa un archivo OVF

  1. Agrega el dispositivo virtual a Cloud Storage.
  2. Para importar un archivo OVF de Cloud Storage a Compute Engine, usa el comando gcloud beta compute instances import.

    Si tu directorio contiene un solo archivo OVF, puedes proporcionar la ruta de acceso al archivo descriptor o al directorio que contiene el archivo OVF.

    • Para importar un archivo OVF con la ruta de acceso al archivo descriptor, ejecuta el siguiente comando:

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_FILE]
      
    • Para importar un archivo OVF con la ruta de acceso al directorio, ejecuta el siguiente comando:

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_DIRECTORY]
      

    en el que:

    • [INSTANCE_NAME] es el nombre de la instancia que deseas crear.
    • [PATH_TO_OVF_FILE] es la ruta de acceso al archivo OVF en Cloud Storage.
    • [PATH_TO_OVF_DIRECTORY] es la ruta de acceso al directorio que contiene el archivo OVF en Cloud Storage.

    Por ejemplo, para importar un archivo OVF Ubuntu.ovf en el directorio my-bucket, que crea una instancia llamada my-instance, ejecuta el siguiente comando:

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/
    

    En algunos casos, se te podría solicitar que proporciones un valor para el sistema operativo. Para especificar el sistema operativo, debes agregar la marca --os. Por ejemplo, para importar un archivo OVF Ubuntu.ovf y crear una instancia llamada my-instance que ejecute Ubuntu 16.04, debes usar el siguiente comando:

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604 \
     --source-uri=gs://my-bucket/
    

Realiza importaciones con configuración personalizada

CPU y memoria personalizadas

Si deseas anular la configuración de CPU o memoria especificada en el archivo OVF, especifica las marcas --custom-cpu y --custom-memory.

Por ejemplo, para importar una instancia llamada my-instance que ejecuta Ubuntu 1404 y tiene 2 CPU y 2048 MB de memoria, usa el siguiente comando:

gcloud beta compute instances import my-instance \
  --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \
  --custom-cpu=2 --custom-memory=2048MB

Redes personalizadas

Si tu proyecto está configurado para usar redes personalizadas, deberás especificar una marca --network. Si la red está configurada con el modo de subred personalizada, también debes especificar las marcas --subnet y --zone.

Por ejemplo, para importar una instancia con las siguientes propiedades:

  • Nombre de instancia: my-instance
  • Sistema operativo: Ubuntu 1404
  • Red: custom-vpc network
  • Subred: company-vpc-us-east1-c
  • Zona: us-east1-c

Ejecuta el siguiente comando:

gcloud beta compute instances import my-instance --os ubuntu-1404 \
  --source-uri=gs://my-bucket/Ubuntu.ova \
  --network company-vpc \
  --subnet company-vpc-us-east1-c \
  --zone us-east1-c

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine