Um mapeamento de imagem agrupa um conjunto de especificações predefinidas do sistema operacional de destino para uma conta/região de nuvem específica no vRealize Automation usando a nomenclatura do linguagem natural.

As contas de fornecedores de nuvem, como o Microsoft Azure e o Amazon Web Services usam imagens para agrupar um conjunto de condições de implantação de destino, incluindo o SO e as definições de configuração relacionadas. Os ambientes baseados emvCenter e NSX, incluindo o VMware Cloud on AWS, usam um mecanismo de agrupamento semelhante para definir um conjunto de condições de implantação do sistema operacional. Quando você compila e finalmente implanta e itera um modelo, escolha uma imagem disponível que melhor atenda às suas necessidades.

Organize os mapeamentos de imagem para um projeto por configurações semelhantes do sistema operacional, estratégia de marcação e objetivo funcional da implantação.

Para simplificar a criação do modelo, você pode selecionar uma opção de pré-configuração ao adicionar uma nova conta de nuvem do. Quando você seleciona a opção de pré-configuração, serão selecionados o mapeamento de tipo e o mapeamento de imagem mais populares da organização para a região especificada.

Ao adicionar informações de imagem a um modelo, você usa a entrada image ou imageRef na seção properties de um componente de máquina. Por exemplo, se deseja clonar de um snapshot, use a propriedade imageRef.

Para exemplos de entradas image e imageRef no código do modelo, consulte Como projetar suas implantações do Cloud Assembly.

Para atribuir uma permissão em uma biblioteca de conteúdo, um administrador deve conceder a permissão ao usuário como uma permissão global. Para obter informações relacionadas, consulte Herança hierárquica de permissões para bibliotecas de conteúdo, em Administração de máquinas virtuais vSphere, na Documentação do VMware vSphere.

Sincronizando imagens para a conta/região de nuvem

Você pode executar a sincronização de imagens para garantir que as imagens que está adicionando ou removendo para uma determinada conta/região de nuvem na página Infraestrutura > Configurar > Mapeamento de Imagens sejam atuais.
  1. Abra a Conta/Região de Nuvem associada selecionando Infraestrutura > Conexões > Contas de nuvem. Selecione a conta/região de nuvem existente.
  2. Clique no botão Sincronizar Imagens e deixe a ação ser concluída.

    imagem do ícone Sincronizar Imagem na página da conta de nuvem

  3. Quando a ação estiver concluída, clique em Infraestrutura > Configurar > Mapeamento de Imagens. Defina um novo mapeamento de imagem ou edite um existente e selecione a conta/região de nuvem da etapa 1.
  4. Clique no ícone de sincronização de imagem na página Mapeamento de Imagens.

    ícone de sincronização de imagens mostrado na página Mapeamentos de Imagens

  5. Defina as configurações de mapeamento de imagens para a conta/região de nuvem especificada na página Mapeamento de Imagens.

Como exibir detalhes do OVF

É possível incluir especificações do OVF em objetos de modelo do Cloud Assembly, como componentes de máquina e mapas de imagem do vCenter. Se a imagem contiver um arquivo OVF, será possível descobrir seu conteúdo sem abrir o arquivo. Passe o cursor sobre Exibir detalhes do OVF para exibir os detalhes do OVF, incluindo nome e local. Para obter mais informações sobre o formato de arquivo OVF, consulte vcenter ovf: property. Para exibir os detalhes do OVF, o mapeamento de imagem deve residir no servidor Web.

passe o mouse sobre o símbolo de Exibir detalhes do OVF e clique para ver o conteúdo do OVF

Observação: Não é possível usar propriedades OVF de imagens no vCenter ou em bibliotecas de conteúdo durante o provisionamento de um modelo. Se o OVF estiver hospedado diretamente no vCenter, a opção Exibir detalhes do OVF não estará visível ou não estará disponível. A opção Exibir detalhes do OVF não está disponível para imagens em bibliotecas de conteúdo.

Para obter informações relacionadas sobre como visualizar detalhes do OVF usando um link do OVF no campo de mapeamento, consulte o artigo Modelo de nuvem de um OVA.

Usando imagens compartilhadas e mais recentes de uma galeria de imagens do Microsoft Azure

Ao criar mapeamentos de imagens para o Microsoft Azure, você pode selecionar imagens de uma galeria de imagens compartilhada do Azure na assinatura. As imagens no menu suspenso são coletadas por dados e disponibilizadas com base na região selecionada.

Embora as galerias de imagens compartilhadas possam ser usadas em várias assinaturas, elas não podem ser listadas no menu suspenso de mapeamento de imagens entre assinaturas. Apenas as imagens de uma assinatura específica são coletadas por dados e apresentadas na lista de mapeamentos de imagens. Para usar uma imagem de uma galeria de imagens em uma assinatura diferente, forneça a ID da imagem no mapeamento de imagem e use esse mapeamento de imagem no modelo.

Uso de restrições e tags para selecionar um processamento adequado para a imagem

Você pode usar restrições de imagem para selecionar um processamento adequado com base na tag do processamento. Por exemplo, se você tiver uma restrição tag1 em uma imagem específica e se a imagem for selecionada durante a alocação, um processamento com a tag tag1 será selecionado para colocar a máquina sendo provisionada. Se esse processamento não existir, a alocação da máquina falhará.

Como usar um script de configuração de nuvem para controlar a implantação

É possível usar um script de configuração de nuvem em um mapa de imagem, modelo ou ambos para definir características de sistema operacional personalizadas a serem usadas em uma implantação do Cloud Assembly. Por exemplo, baseado na escolha de implantação de um modelo em uma nuvem pública ou privada, é possível aplicar permissões de usuário específicas, permissões de SO ou outras condições à imagem. Um script de configuração de nuvem adere a um formato cloud-init para imagens baseadas no Linux ou a um formato cloudbase-init para imagens baseadas no Windows. OCloud Assembly oferece suporte à ferramenta cloud-init para sistemas Linux e à ferramenta cloudbase-init para Windows.

Para máquinas Windows, é possível usar qualquer formato de script de configuração de nuvem compatível com cloudbase-init.

O recurso de máquina no seguinte código de modelo de amostra usa uma imagem que contém um script de configuração da nuvem, cujo o conteúdo é visto na 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}

A avaliação de propriedades dinâmicas funciona ao usar o cloudConfig diretamente em um modelo, mas não tem suporte com o cloudConfig em um mapa de imagem.

No código do modelo, você usa a configuração image para fazer referência a uma imagem que é definida como um mapeamento de imagem. Use a configuração imageRef para identificar um modelo que contém um snapshot (para clones vinculados), um modelo de imagem ou um modelo de biblioteca de conteúdo OVF.

O que acontece quando um mapeamento de imagem e um modelo contêm um script de configuração de nuvem

Quando um modelo que contém um script de configuração de nuvem usa um mapeamento de imagem que contém um script de configuração de nuvem, ambos os scripts são combinados. A ação de mesclagem processa o conteúdo do script de mapeamento de imagem primeiro e o conteúdo do script de modelo em seguida, considerando se os scripts estão no formato #cloud-config ou não.

  • Para scripts que estão no formato #cloud-config, a mesclagem combina o conteúdo de cada módulo (por exemplo runcmd, users e write_files) do seguinte modo:
    • Para módulos em que o conteúdo é uma lista, as listas de comandos do mapeamento de imagem e do modelo são mescladas, excluindo comandos idênticos em ambas as listas.
    • Para módulos em que o conteúdo é um dicionário, os comandos são mesclados, e o resultado é uma combinação dos dois dicionários. Se a mesma chave existir em ambos os dicionários, a chave do dicionário do script de mapeamento de imagem será preservada, e a chave do dicionário do script de modelo será ignorada.
    • Para módulos em que o conteúdo é uma cadeia de caracteres, os valores de conteúdo do script de mapeamento de imagem são mantidos, e os valores de conteúdo do script de modelo são ignorados.
  • Para scripts que estão em um formato diferente de #cloud-config ou quando um script está no formato #cloud-config e o outro não, ambos os scripts são combinados de forma que o script de mapeamento de imagem seja executado primeiro e o script de modelo seja executado quando o script de mapeamento de imagem for concluído.

Adicionar uma imagem de uma biblioteca de conteúdo do vCenter

Quando uma biblioteca de conteúdo local ou de editor reside em um vCenter gerenciado pela sua organização do vRealize Automation, as imagens do modelo da biblioteca de conteúdo aparecem no menu suspenso de imagens. As imagens listadas incluem imagens de modelo OVF e VM no local ou bibliotecas de conteúdo do vCenter de editores. Imagens em bibliotecas de conteúdo de assinantes não aparecem no menu suspenso. O modelo do qual uma VM foi clonada é mostrado na seção de detalhes da máquina da interface do usuário de implantações da máquina.

A imagem mostra um item da biblioteca em que o nome da imagem é precedido pelo nome da biblioteca e separado por um caractere de barra

Observação:

Se a biblioteca de conteúdo do vCenter for gerenciada pelo vRealize Automation, as informações do editor serão exibidas na grade de seleção de mapeamento de imagem no seguinte formato: publisher_content_library_name / content_item_name

Para atribuir uma permissão em uma biblioteca de conteúdo, um administrador deve conceder a permissão ao usuário como uma permissão global. Para obter informações relacionadas, consulte Herança hierárquica de permissões para bibliotecas de conteúdo, em Administração de máquinas virtuais vSphere, na Documentação do VMware vSphere.

Se a biblioteca de conteúdo de editor do vCenter não for gerenciada pelo vRealize Automation, as informações do assinante serão exibidas na grade de seleção de mapeamento de imagens no seguinte formato: subscriber_content_library_name / content_item_name

Por exemplo, no cenário a seguir, apenas os itens da biblioteca de conteúdo do assinante estão visíveis na lista de mapeamentos de imagens do vRealize Automation:
  • Para um vCenter denominado VC-1, há uma biblioteca de conteúdo do assinante no VC, e é criada uma conta de nuvem no vRealize Automation que é associada a VC-1.
  • Para um vCenter denominado VC-2, há uma biblioteca de conteúdo do editor no VC do qual a biblioteca de conteúdo do assinante de VC-1 é assinada. No entanto, não há conta de nuvem no vRealize Automation associada a VC-2.

    Como VC-1 está associado a uma conta de nuvem do vRealize Automation, a biblioteca de conteúdo do assinante está disponível no vRealize Automation. Seu conteúdo é coletado e exibido na lista de mapeamentos de imagens do vRealize Automation. No entanto, como VC-2 não está associado a uma conta de nuvem, o vRealize Automation não tem conhecimento de sua biblioteca de conteúdo do editor. Para exibir os itens da biblioteca de conteúdo do editor na lista de mapeamento de imagens, você deve associar uma conta de nuvem ao vCenter VC-2.

Quando você implanta um modelo que contém um mapeamento de imagem de modelo de VM, o vRealize Automation tenta acessar a imagem mapeada na biblioteca de conteúdo que está mais próxima do armazenamento de dados e, em seguida, mais próxima do host da máquina a ser provisionada. Isso pode incluir uma biblioteca de conteúdo local, bem como uma biblioteca de conteúdo de editor ou assinante.

Quando você implanta um modelo que contém um mapeamento de imagem de modelo OVF, as imagens OVF serão acessadas conforme especificado na linha de mapeamento de imagem se a imagem estiver em uma biblioteca de conteúdo local ou um assinante local de uma biblioteca de conteúdo de editor remoto especificada.

Para obter informações relacionadas sobre como criar e usar bibliotecas de conteúdo do vCenter, consulte Usando bibliotecas de conteúdo, na documentação do produto vSphere, e as postagens no blog da VMware Como usar bibliotecas de conteúdo no vRealize Automation 8 e no vRealize Automation Cloud e Gerenciar modelos com a biblioteca de conteúdo do vSphere e o vRA 8.

Mais informações sobre como configurar e usar scripts de configuração de nuvem

Para obter mais informações sobre como trabalhar com scripts de configuração de nuvem em modelos, consulte Inicialização de máquinas no Cloud Assembly.

Consulte também os artigos do blog da VMware (em inglês):vSphere Customization with Cloud-init While Using vRealize Automation 8 or Cloud e Customizing Cloud Assembly Deployments with Cloud-Init.