Implantar um servidor Ubuntu local hospedado com o Vagrant e conectá-lo ao Azure Arc

Este artigo fornece orientação para implantar uma máquina virtual Ubuntu local usando o Vagrant e a conecta como um recurso de servidor habilitado para o Azure Arc.

Pré-requisitos

  1. Clone o repositório do JumpStart do Azure Arc.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Instale ou atualize a CLI do Azure para a versão 2.7 e superior. Use o comando a seguir para verificar a versão atual instalada.

    az --version
    
  3. O Vagrant se baseia em um hipervisor subjacente. Para este guia, estamos usando o Oracle VM VirtualBox.

    1. Instale o VirtualBox.

      • Se você for um usuário do macOS, execute brew cask install virtualbox
      • Se você é um usuário do Windows, você pode usar o pacote Chocolatey
      • Se você é um usuário Linux, todos os métodos de instalação de pacotes podem ser encontrados em Download VirtualBox para hosts Linux.
    2. Instalar o Vagrant

      • Se você for um usuário do macOS, execute brew cask install vagrant
      • Se você é um usuário do Windows, você pode usar o pacote Chocolatey
      • Se você é um usuário do Linux, visite a página de download do Vagrant.
  4. Criar uma entidade de serviço do Azure.

    Para conectar a máquina virtual do Vagrant ao Azure Arc, é necessária uma entidade de serviço do Azure atribuída com a função de Colaborador. Para criá-la, entre na sua conta do Azure e execute o comando a seguir. Você também pode executar esse comando no Azure Cloud Shell.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Por exemplo:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    O resultado deve ser assim:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Observação

    É expressamente recomendável que você faça o escopo da entidade de serviço em uma assinatura e um grupo de recursos específicos do Azure.

  5. O arquivo Vagrant executa um script no sistema operacional da VM para instalar todos os artefatos necessários e injetar variáveis de ambiente. Edite o script de shell scripts/vars.sh para corresponder à entidade de serviço do Azure que você criou.

    • subscriptionId = sua ID da assinatura do Azure
    • appId = nome da sua entidade de serviço do Azure
    • password = sua senha da entidade de serviço do Azure
    • tenantId = sua ID de locatário do Azure
    • resourceGroup= nome do grupo de recursos do Azure
    • location = região do Azure

Implantação

Assim como qualquer implantação de Vagrant, são necessários um vagrantfile e uma caixa do Vagrant. Em um alto nível, a implantação irá:

  • Baixar o arquivo de imagem Caixa do Vagrant para o Ubuntu 16.04
  • Executar o script de instalação

Depois de editar o script scripts/vars.sh para corresponder ao seu ambiente, na pasta Vagrantfile, execute vagrant up. Como esta é a primeira vez que você cria a VM, a primeira execução será muito mais lenta do que as seguintes, pois a implantação vai baixar a caixa do Ubuntu pela primeira vez.

A screenshot of the vagrant up command.

O provisionamento começará quando o download for concluído. Conforme mostrado na captura de tela a seguir, o processo não leva mais de três minutos.

A screenshot of a completed vagrant up command.

Após a conclusão, você terá uma VM local do Ubuntu implantada, conectada como um novo servidor habilitado para Azure Arc, dentro de um novo grupo de recursos.

A screenshot of an Azure Arc-enabled server in the Azure portal.

A screenshot of details from an Azure Arc-enabled server in the Azure portal.

Implantação semiautomatizada (opcional)

A última etapa é registrar a VM como um novo recurso de servidor habilitado para o Azure Arc.

Another screenshot of the vagrant up command.

Se você quiser a demonstração/controle do processo de registro real, conclua as seguintes etapas:

  1. No script do shell install_arc_agent, comente a seção run connect command e salve o arquivo. Você também pode comentar ou alterar a criação do grupo de recursos.

    A screenshot of the azcmagent connect command.

    A screenshot of the az group create command.

  2. Execute o SSH para a VM usando o comando vagrant ssh.

    A screenshot of an SSH key connecting to the Vagrant machine.

  3. Execute o mesmo comando azcmagent connect que você comentou usando suas variáveis de ambiente.

    Another screenshot of the azcmagent connect command.

Excluir a implantação

Para excluir toda a implantação, execute o comando vagrant destroy -f. O vagrantfile inclui um gatilho Vagrant before: destroy, que executará um script para excluir o grupo de recursos do Azure antes de destruir a VM real.

A screenshot of the vagrant destroy command.