Implante um servidor Ubuntu local hospedado com o Vagrant e conecte-o ao Azure Arc

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

Pré-requisitos

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

    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 seguinte comando para verificar sua versão instalada atual.

    az --version
    
  3. O Vagrant depende de 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. Crie uma entidade de serviço do Azure.

    Para conectar a máquina virtual Vagrant ao Azure Arc, é necessária uma entidade de serviço do Azure atribuída com a função de Colaborador. Para criá-lo, entre em sua conta do Azure e execute o seguinte comando. 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"
    

    A saída deverá ter o seguinte aspeto:

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

    Nota

    É altamente recomendável que você defina o escopo da entidade de serviço para uma assinatura específica do Azure e um grupo de recursos.

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

    • subscriptionId = sua ID de assinatura do Azure
    • appId = seu nome principal de serviço do Azure
    • password = sua senha principal 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

Implementação

Como qualquer implantação do Vagrant, um vagrantfile e uma caixa Vagrant são necessários. A um nível elevado, a implantação:

Depois de editar o scripts/vars.sh script para corresponder ao seu ambiente, a Vagrantfile partir da pasta, execute vagrant up. Como esta é a primeira vez que se cria a VM, a primeira execução será muito mais lenta do que as seguintes, porque a implantação está baixando a caixa do Ubuntu pela primeira vez.

A screenshot of the vagrant up command.

Quando o download estiver concluído, o provisionamento será iniciado. Como 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 Ubuntu local 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 Azure Arc.

Another screenshot of the vagrant up command.

Se você quiser demonstrar/controlar o processo de registro real, conclua as seguintes etapas:

  1. install_arc_agent No shell script, comente a run connect command seção 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. SSH para a VM usando o vagrant ssh comando.

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

  3. Execute o mesmo azcmagent connect comando 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 vagrant destroy -f comando. O vagrantfile inclui um gatilho Vagrant, que executará um before: destroy script para excluir o grupo de recursos do Azure antes de destruir a VM real.

A screenshot of the vagrant destroy command.