Compartilhar via


Preparar a imagem do Azure Marketplace do Ubuntu para VMs do Azure em ambiente local.

Este artigo explica como preparar uma imagem do Ubuntu Azure Marketplace para uso com VMs (máquinas virtuais) locais do Azure. Seguindo estas etapas, você garante que sua VM tenha as atualizações de segurança, o suporte e os recursos de integração mais recentes.

Pré-requisitos

Entrar e definir assinatura

  1. Conecte-se a um computador na instância local do Azure.

  2. Entre e insira o seguinte comando:

    az login --use-device-code
    
  3. Defina sua assinatura.

    az account set --subscription <Subscription ID>
    

Configurar e preparar uma VM do Azure

Para configurar e preparar uma VM do Azure, siga estas etapas:

  1. Entre no portal do Azure.

  2. No painel esquerdo, selecione Máquinas Virtuais, selecione Criar e, em seguida, selecione Máquina Virtual.

  3. Navegue pelas imagens disponíveis e escolha sua versão preferencial do Ubuntu.

    Captura de tela da página de seleção de imagem do portal do Azure.

  4. Insira os detalhes necessários no assistente e conclua a configuração da VM do Azure.

    Observação

    Evite conflitos de nome de usuário criando a VM do Azure com um nome de usuário que você não usa no Azure Local. Se você usar o mesmo nome de usuário (por exemplo, "usernameA") na VM do Azure e no Azure Local e reutilizar o VHD, a VM manterá as informações de logon originais. Para obter os melhores resultados, configure VMs locais do Azure com credenciais diferentes (como "usernameB").

  5. Depois que a VM for implantada, vá para a página de visão geral da VM , selecione a opção Conectar e selecioneo console Serial.

    Captura de tela da opção de entrada do console serial no portal do Azure.

  6. Conecte-se à VM com suas credenciais e execute estes comandos:

    1. Entre na VM como o usuário raiz:

      sudo su
      
    2. Limpe a cloud-init configuração padrão porque ela não é relevante para VMs locais do Azure.

      sudo cloud-init clean
      sudo rm -rf /var/lib/cloud/ /var/log/* /tmp/*
      
    3. Limpe as chaves de host SSH específicas da VM.

      sudo rm -f /etc/ssh/ssh_host*
      

Alterar a fonte de dados da imagem da VM

Para alterar a fonte de dados da imagem da VM, siga estas etapas:

  1. Altere o diretório para o caminho a seguir e liste os arquivos para localizar o arquivo 90_dpkg.cfgde fonte de dados. Execute estes comandos:

    cd /etc/cloud/cloud.cfg.d/
    ls
    

    Exemplo de saída:

    azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ ls
    05_logging.cfg  10-azure-kvp.cfg  90-azure.cfg  90_dpkg.cfg
    
  2. Abra o arquivo 90_dpkg.cfg . Execute este comando:

    cat 90_dpkg.cfg
    

    Exemplo de saída:

    azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg
    # to update this file, run dpkg-reconfigure cloud-init
    datasource_list: [ Azure ]
    
  3. Abra e atualize o datasource_list do Azure para o NoCloud. Execute este comando:

    sudo dpkg-reconfigure cloud-init
    

    Exemplo de saída:

    Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance.
    
    Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot.
    
    Which data sources should be searched?
    
    [ ] NoCloud: Reads info from /var/lib/cloud/seed only  
    [ ] ConfigDrive: Reads data from Openstack Config Drive  
    [ ] OpenNebula: read from OpenNebula context disk  
    [ ] DigitalOcean: reads data from Droplet datasource  
    [*] Azure: read from MS Azure cdrom. Requires walinux-agent
    <Ok>
    
    1. Alterne o (*) pressionando a barra de espaço para ativar o NoCloud e remover o Azure.

    2. Salve o arquivo pressionando Enter.

    Exemplo de saída:

    Cloud-init supports searching different "Data Sources" for information that it uses to configure a cloud instance.
    
    Warning: Only select 'Ec2' if this system will be run on a system with the EC2 metadata service present. Doing so incorrectly will result in a substantial timeout on boot.
    
    Which data sources should be searched?
    
    [*] NoCloud: Reads info from /var/lib/cloud/seed only  
    [ ] ConfigDrive: Reads data from Openstack Config Drive  
    [ ] OpenNebula: read from OpenNebula context disk  
    [ ] DigitalOcean: reads data from Droplet datasource  
    [ ] Azure: read from MS Azure cdrom. Requires walinux-agent
    <Ok>
    
  4. Para verificar se o arquivo foi atualizado, execute este comando:

    cat 90_dpkg.cfg
    

    Exemplo de saída:

    azureuser@ubuntu-image:/etc/cloud/cloud.cfg.d$ cat 90_dpkg.cfg
    # to update this file, run dpkg-reconfigure cloud-init
    datasource_list: [ NoCloud ]
    
  5. Remova o histórico do bash. Execute estes comandos:

    sudo rm -f ~/.bash_history
    export HISTSIZE=0
    exit
    
  6. Interrompa a VM do Azure à medida que as alterações de configuração forem concluídas.

Exportar um disco do so da VM do Azure para um VHD no cluster local do Azure

Para exportar um disco do so da VM do Azure para um VHD no cluster local do Azure, siga estas etapas:

  1. No portal do Azure para o recurso local do Azure, acesse a visão geral da VM. Na opção Configurações, selecione Discos e selecione o link nome do disco.

    Captura de tela da página de detalhes do disco do sistema operacional.

  2. Em Configurações, selecione Exportação de Disco e, em seguida, selecione Gerar URL para gerar uma URL segura para o disco.

    Captura de tela da opção de exportação de disco com geração de URL segura.

  3. Copie o link de URL seguro gerado para a próxima etapa.

Observação

A URL de exportação de disco é uma URL SAS limitada por tempo.
Se a URL expirar, for copiada incorretamente ou não tiver permissões de leitura (r), a etapa de criação da imagem poderá falhar com um erro 401 (Não autorizado ).
Se você encontrar um erro 401, regenere a URL de exportação de disco e verifique se ela é usada antes da expiração e colada sem aspas ou quebras de linha adicionais.

Criar uma imagem local do Azure

Para criar uma imagem local do Azure usando o token SAS, execute este comando:

$rg = "<resource-group>"
$cl = "/subscriptions/<sub>/resourcegroups/$rg/providers/microsoft.extendedlocation/customlocations/<customlocation-name>"
$sas = '"https://EXAMPLE.blob.storage.azure.net/EXAMPLE/abcd<sas-token>"'

az stack-hci-vm image create -g $rg --custom-location $cl --name "<IMAGE-NAME>" --os-type "Linux" --image-path $sas

Criar uma VM local do Azure

Para criar uma VM local do Azure usando a imagem de VM local do Azure que você criou, siga as etapas em Criar máquinas virtuais locais do Azure habilitadas pelo Azure Arc.