Una asignación de imagen agrupa un conjunto de especificaciones de sistema operativo de destino predefinidas relativas a una región o una cuenta de nube concreta en vRealize Automation por medio de nomenclatura de lenguaje natural.

Las cuentas de proveedor de nube, como Microsoft Azure y Amazon Web Services, usan imágenes para agrupar un conjunto de condiciones de implementación de destino, incluidas las opciones de configuración de sistema operativo y otras relacionadas. Los entornos basados en vCenter y en NSX (VMware Cloud on AWS incluido) utilizan un mecanismo de agrupamiento similar para definir un conjunto de condiciones de implementación del sistema operativo. Al crear y, finalmente, implementar e iterar una plantilla, debe elegir una imagen disponible que se adapte a sus necesidades.

Organice las asignaciones de imagen de un proyecto por opciones de configuración de sistema operativo, estrategia de etiquetado e intención funcional de implementación similares.

Para simplificar la creación de plantillas, puede seleccionar una opción de preconfiguración cuando agregue una nueva cuenta de nube. Al seleccionar la opción de preconfiguración, se seleccionan la asignación de imagen y la asignación de tipo más popular de la organización para la región especificada.

Al agregar información de la imagen a una plantilla, se utiliza la entrada image o imageRef en la sección properties de un componente de máquina. Por ejemplo, si desea clonar desde una instantánea, utilice la propiedad imageRef.

Para ver ejemplos de entradas de image y imageRef en el código de la plantilla, consulte Diseñar las implementaciones de Cloud Assembly.

Para asignar un permiso en una biblioteca de contenido, un administrador debe conceder dicho permiso al usuario como permiso global. Para obtener información relacionada, consulte Herencia jerárquica de permisos para bibliotecas de contenido en Administrar máquinas virtuales de vSphere en la documentación de VMware vSphere.

Sincronizar imágenes para la región o la cuenta de nube

Puede ejecutar la sincronización de imágenes para asegurarse de que las imágenes que va a agregar o eliminar para una región o una cuenta de nube determinadas en la página Infraestructura > Configurar > Asignación de imagen estén actualizadas.
  1. Para abrir la cuenta o región de nube asociada, seleccione Infraestructura > Conexiones > Cuentas de nube. Seleccione la cuenta o región de nube existente.
  2. Haga clic en el botón Sincronizar imágenes y permita que la acción se complete.

    imagen del icono de sincronizar imágenes en la página de la cuenta de nube

  3. Cuando se complete la acción, haga clic en Infraestructura > Configurar > Asignación de imagen. Defina una asignación de imagen nueva o edite una existente, y seleccione la cuenta o región de nube del paso 1.
  4. Haga clic en el icono de sincronización de imágenes en la página Asignación de imagen.

    icono de sincronización de imágenes que aparece en la página Asignaciones de imagen

  5. Configure las asignaciones de imagen para la cuenta o región de nube especificada en la página Asignación de imagen.

Ver detalles de OVF

Puede incluir especificaciones de OVF en objetos de plantilla de Cloud Assembly, como asignaciones de componentes e imagen de máquina de vCenter. Si la imagen contiene un archivo OVF, puede detectar su contenido sin abrirlo. Pase el cursor sobre la opción Ver detalles de OVF para que se muestren sus detalles, incluidos el nombre y la ubicación. Para obtener más información sobre el formato de archivo OVF, consulte vcenter ovf: property. Para ver los detalles de OVF, la asignación de imagen debe residir en el servidor web.

Coloque el cursor sobre el símbolo de Ver detalles de OVF y haga clic para ver el contenido del archivo OVF.

Nota: No puede utilizar las propiedades de OVF de las imágenes en vCenter ni las bibliotecas de contenido al aprovisionar desde una plantilla. Si el OVF está alojado directamente en vCenter, la opción Ver detalles de OVF no estará visible o no estará disponible. La opción Ver detalles de OVF no está disponible para las imágenes de las bibliotecas de contenido.

Para obtener información relacionada con la visualización de los detalles de OVF mediante un vínculo de OVF en el campo de asignación, consulte el artículo externo Plantilla de nube de un OVA.

Usar imágenes compartidas y las más recientes de una galería de imágenes de Microsoft Azure

Al crear asignaciones de imagen para Microsoft Azure, puede seleccionar imágenes de una galería de imágenes compartida de Azure en la suscripción. Las imágenes del menú desplegable se recopilan de los datos y se ponen a disposición en función de la región seleccionada.

Aunque las galerías de imágenes compartidas pueden utilizarse en varias suscripciones, no se pueden enumerar en el menú desplegable de asignación de imágenes en todas las suscripciones. Solo se recopilan a partir de datos imágenes de una suscripción en particular y se muestran en la lista de asignaciones de imagen. Para utilizar una imagen de una galería de imágenes en una suscripción diferente, proporcione el identificador de imagen en la asignación de imagen y utilice esa asignación de imagen en la plantilla.

Usar restricciones y etiquetas para seleccionar un recurso informático adecuado para la imagen

Puede utilizar restricciones de imagen para seleccionar un recurso informático adecuado en función de la etiqueta del recurso informático. Por ejemplo, si tiene una restricción de tag1 en una imagen específica y si la imagen se selecciona durante la asignación, entonces, se selecciona un recurso informático con la etiqueta tag1 para colocar la máquina que se aprovisiona. Si este recurso informático no existe, se produce un error en la asignación de la máquina.

Usar un script de configuración de nube para controlar la implementación

Puede utilizar un script de configuración de nube en una asignación de imagen, una plantilla o ambas, para definir las características de sistema operativo personalizadas que se utilizarán en una implementación de Cloud Assembly. Por ejemplo, en función de si la plantilla se implementa en una nube pública o en una privada, puede aplicar a la imagen permisos de usuario específicos, permisos de sistema operativo u otras condiciones. Un script de configuración de nube sigue un formato de cloud-init en las imágenes basadas en Linux o un formato de cloudbase-init en las imágenes basadas en Windows. Cloud Assembly admite la herramienta Cloud-init en sistemas Linux y la herramienta Cloudbase-init en Windows.

En el caso de las máquinas Windows, puede usar cualquier formato de script de configuración de nube que sea compatible con cloudbase-init.

El recurso de máquina del siguiente código de plantilla de ejemplo utiliza una imagen que contiene un script de configuración de nube cuyo contenido se ve en la entrada image.
resources:
  demo-machine:
    type: Cloud.vSphere.Machine
    properties:
      flavor: small
      image: MyUbuntu16 
        https://cloud-images.ubuntu.com/releases/16.04/release-20170307/ami-ubuntu-16.04-1.10.3-00-15269239.ova
      cloudConfig: |
        ssh_pwauth: yes
        chpasswd:
          list: |
            ${input.username}:${input.password}
          expire: false
        users:
          - default
          - name: ${input.username}
            lock_passwd: false
            sudo: ['ALL=(ALL) NOPASSWD:ALL']
            groups: [wheel, sudo, admin]
            shell: '/bin/bash'
        runcmd:
          - echo "Defaults:${input.username}  !requiretty" >> /etc/sudoers.d/${input.username}

La evaluación de propiedades dinámica funciona cuando se utiliza cloudConfig directamente en una plantilla, pero no es compatible con cloudConfig en una asignación de imagen.

En el código de plantilla, utilice la opción image para hacer referencia a una imagen definida como una asignación de imagen. Utilice la opción imageRef si desea identificar una plantilla que contenga una instantánea (para clones vinculados), una plantilla de imagen o un archivo OVF de plantilla de biblioteca de contenido.

Qué sucede cuando una asignación de imagen y una plantilla contienen un script de configuración de nube

Cuando una plantilla que contiene un script de configuración de nube utiliza una asignación de imagen que contiene un script de configuración de nube, se combinan ambos scripts. La acción de combinación procesa primero el contenido del script de asignación de imagen y, después, el contenido del script de la plantilla teniendo en cuenta si los scripts tienen o no el formato #cloud-config.

  • Para scripts que tienen el formato #cloud-config, la combinación combina el contenido de cada módulo (por ejemplo, runcmd, users y write_files) de la siguiente manera:
    • Para módulos donde el contenido es una lista, las listas de comandos de la asignación de imagen y de la plantilla se combinan, excepto los comandos que son idénticos en ambas listas.
    • Para módulos donde el contenido es un diccionario, los comandos se combinan y el resultado es una fusión de ambos diccionarios. Si existe la misma clave en ambos diccionarios, se mantiene la clave del diccionario de scripts de asignación de imagen y se omite la clave del diccionario de scripts de la plantilla.
    • Para módulos en los que el contenido es una cadena, se mantienen los valores de contenido del script de asignación de imagen y se ignoran los valores de contenido del script de la plantilla.
  • Para scripts que se encuentran en un formato distinto de #cloud-config o cuando un script está en formato #cloud-config y el otro no, ambos scripts se combinan de manera que se ejecuta primero el script de asignación de imagen y, cuando este finaliza, se ejecuta el script de la plantilla.

Agregar una imagen de una biblioteca de contenido de vCenter

Cuando una biblioteca de contenido local o de editor reside en una instancia de vCenter administrada por la organización vRealize Automation, las imágenes de plantilla de biblioteca de contenido aparecen en el menú desplegable de imágenes. Entre las imágenes incluidas se encuentran imágenes de plantillas de OVF y máquina virtual en bibliotecas de contenido de vCenter locales o de editor. Las imágenes de las bibliotecas de contenido de suscriptor no aparecen en el menú desplegable. La plantilla desde la que se clonó una máquina virtual se muestra en la sección de detalles de la máquina de la interfaz de usuario de implementaciones de máquinas.

La imagen muestra un elemento de biblioteca en el que el nombre de la imagen aparece precedido por el nombre de la biblioteca y separado por un carácter de barra diagonal

Nota:

Si vRealize Automation administra la instancia de vCenter de la biblioteca de contenido del editor, la información del editor se mostrará en la cuadrícula de selección de asignación de imágenes con el siguiente formato: publisher_content_library_name/content_item_name.

Para asignar un permiso en una biblioteca de contenido, un administrador debe conceder dicho permiso al usuario como permiso global. Para obtener información relacionada, consulte Herencia jerárquica de permisos para bibliotecas de contenido en Administrar máquinas virtuales de vSphere en la documentación de VMware vSphere.

Si vRealize Automation no administra la instancia de vCenter de la biblioteca de contenido del editor, la información del suscriptor se mostrará en la cuadrícula de selección de asignación de imágenes con el siguiente formato: subscriber_content_library_name/content_item_name.

Por ejemplo, en el siguiente escenario solo los elementos de la biblioteca de contenido del suscriptor se muestran en la lista de asignación de imágenes de vRealize Automation:
  • Para una instancia de vCenter denominada VC-1, hay una biblioteca de contenido de suscriptor en el VC y se crea una cuenta de nube en vRealize Automation que está asociada a VC-1.
  • Para una instancia de vCenter denominada VC-2, hay una biblioteca de contenido de editor en el VC desde la que está suscrita la biblioteca de contenido de suscriptor de VC-1. Sin embargo, no hay ninguna cuenta de nube en la instancia de vRealize Automation que está asociada a VC-2.

    Debido a que VC-1 está asociado a una cuenta de nube de vRealize Automation, la biblioteca de contenido del suscriptor está disponible en vRealize Automation. Su contenido se recopila y se muestra en la lista de asignación de imágenes de vRealize Automation. Sin embargo, debido a que VC-2 no está asociado a una cuenta de nube, vRealize Automation no tiene conocimiento de su biblioteca de contenido de editor. Para que aparezcan los elementos de la biblioteca de contenido del editor en la lista de asignación de imágenes, debe asociar una cuenta de nube a la instancia VC-2 de vCenter.

Cuando se implementa una plantilla que contiene una asignación de imagen de plantilla de máquina virtual, vRealize Automation intenta acceder a la imagen asignada en la biblioteca de contenido más cercana al almacén de datos y, a continuación, a la más cercana al host de la máquina que se aprovisionará. Esto puede incluir una biblioteca de contenido local, así como una biblioteca de contenido de editor o suscriptor.

Cuando se implementa una plantilla que contiene una asignación de imagen de plantilla de OVF, se accede a las imágenes de OVF según se especifica en la fila de asignación de imagen si la imagen se encuentra en una biblioteca de contenido local o en un suscriptor local de una biblioteca de contenido de editor remoto especificada.

Para obtener información relacionada con la creación y el uso de bibliotecas de contenido en vCenter, consulte Usar bibliotecas de contenido en la documentación de vSphere y las publicaciones de blog de VMware Cómo utilizar bibliotecas de contenido en vRealize Automation 8 y vRealize Automation Cloud y Administrar plantillas con la biblioteca de contenido de vSphere y vRA 8.

Más información sobre la configuración y el uso de scripts de configuración de nube

Para obtener más información sobre cómo trabajar con scripts de configuración de nube en plantillas, consulte Inicialización de máquinas en Cloud Assembly.

También puede consultar los artículos de blog de VMware Personalización de vSphere con Cloud-init mientras se utiliza vRealize Automation 8 o Cloud y Personalización de implementaciones de Cloud Assembly con Cloud-init.