Implantar um servidor Ubuntu local hospedado com Vagrant e conectá-lo ao Azure ArcDeploy a local Ubuntu server hosted with Vagrant and connect it to Azure Arc

Este artigo fornece diretrizes para implantar uma máquina virtual Ubuntu local usando Vagrant e conectá-la como um recurso de servidor habilitado para Arc do Azure.This article provides guidance for deploying a local Ubuntu virtual machine using Vagrant and connect it as an Azure Arc enabled server resource.

Pré-requisitosPrerequisites

  1. Clone o repositório do Azure Arc JumpStart.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Instale ou atualize o CLI do Azure para a versão 2,7 e superior.Install or update Azure CLI to version 2.7 and above. Use o comando a seguir para verificar sua versão atual instalada.Use the following command to check your current installed version.

    az --version
    
  3. Vagrant se baseia em um hipervisor subjacente.Vagrant relies on an underlying hypervisor. Para este guia, usaremos "Oracle VM VirtualBox".For this guide, we will be using "Oracle VM VirtualBox".

    1. Instale o VirtualBox.Install VirtualBox.

      • Se você for um usuário do macOS, execute brew cask install virtualboxIf you are a macOS user, run brew cask install virtualbox
      • Se você for um usuário do Windows, poderá usar o pacote de ChocolateyIf you are a Windows user, you can use the Chocolatey package
      • Se você for um usuário do Linux, todos os métodos de instalação do pacote poderão ser encontrados aquiIf you are a Linux user, all package installation methods can be found here
    2. Instalar o VagrantInstall Vagrant

      • Se você for um usuário do macOS, execute brew cask install vagrantIf you are a macOS user, run brew cask install vagrant
      • Se você for um usuário do Windows, poderá usar o pacote de ChocolateyIf you are a Windows user, you can use the Chocolatey package
      • Se você for um usuário do Linux, procure aquiIf you are a Linux user, look here
  4. Crie uma entidade de serviço do Azure.Create an Azure service principal.

    Para conectar a máquina virtual Vagrant ao arco do Azure, uma entidade de serviço do Azure atribuída com a função colaborador é necessária.To connect the Vagrant virtual machine to Azure Arc, an Azure service principal assigned with the Contributor role is required. Para criá-lo, entre em sua conta do Azure e execute o comando a seguir.To create it, sign in to your Azure account and run the following command. Você também pode executar esse comando no Azure cloud Shell.You can also run this command in Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    Por exemplo: For example:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

    A saída deve ser semelhante a esta:Output should look like this:

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

    Observação

    É altamente recomendável que você agrupe a entidade de serviço para uma assinatura e um grupo de recursos específicos do Azure.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

  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.The Vagrant file executes a script on the VM OS to install all the needed artifacts and to inject environment variables. Edite o scripts/vars.sh script de Shell para corresponder à entidade de serviço do Azure que você criou.Edit the scripts/vars.sh shell script to match the Azure service principal you created.

    • subscriptionId = sua ID de assinatura do AzuresubscriptionId = your Azure subscription ID
    • appId = o nome da entidade de serviço do AzureappId = your Azure service principal name
    • password = sua senha da entidade de serviço do Azurepassword = your Azure service principal password
    • tenantId = sua ID de locatário do AzuretenantId = your Azure tenant ID
    • resourceGroup = Nome do grupo de recursos do AzureresourceGroup = Azure resource group name
    • location = Região do Azurelocation = Azure region

ImplantaçãoDeployment

Assim como qualquer implantação de Vagrant, é necessária uma vagrantfile e uma caixa de Vagrant .Like any Vagrant deployment, a vagrantfile and a Vagrant box is needed. Em um alto nível, a implantação irá:At a high-level, the deployment will:

  • Baixe a caixa Vagrant do arquivo de imagem do Ubuntu 16, 4Download the Ubuntu 16.04 image file Vagrant box
  • Executar o script de instalaçãoExecute the installation script

Depois de editar o scripts/vars.sh script para corresponder ao seu ambiente, na Vagrantfile pasta, execute vagrant up .After editing the scripts/vars.sh script to match your environment, from the Vagrantfile folder, run vagrant up. Como essa é a primeira vez que você cria a VM, a primeira execução será muito mais lenta do que aquelas a seguir, pois a implantação está baixando a caixa Ubuntu pela primeira vez.Since this is the first time creating the VM, the first run will be much slower than the ones to follow, because the deployment is downloading the Ubuntu box for the first time.

Uma captura de tela do comando ' Vagrant up '.

Quando o download for concluído, o provisionamento será iniciado.Once the download is complete, the provisioning begins. Conforme mostrado na captura de tela a seguir, o processo não leva mais do que três minutos.As shown in the following screenshot, the process takes no longer than three minutes.

Uma captura de tela de um comando ' Vagrant up ' concluído.

Após a conclusão, você terá uma VM Ubuntu local implantada, conectada como um novo servidor habilitado para Arc do Azure, dentro de um novo grupo de recursos.Upon completion, you will have a local Ubuntu VM deployed, connected as a new Azure Arc enabled server, inside a new resource group.

Uma captura de tela de um servidor habilitado para arco do Azure no portal do Azure.

Uma captura de tela de detalhes de um servidor habilitado para arco do Azure no portal do Azure.

Implantação semi-automatizada (opcional)Semi-automated deployment (optional)

A última etapa é registrar a VM como um novo recurso de servidor habilitado para Arc do Azure.The last step is to register the VM as a new Azure Arc enabled server resource.

Outra captura de tela do comando ' Vagrant up '.

Se você quiser demonstrar/controlar o processo de registro real, conclua as seguintes etapas:If you want to demo/control the actual registration process, complete the following steps:

  1. No install_arc_agent script do Shell, comente a run connect command seção e salve o arquivo.In the install_arc_agent shell script, comment out the run connect command section and save the file. Você também pode comentar ou alterar a criação do grupo de recursos.You can also comment out or change the creation of the resource group.

    Uma captura de tela do comando ' azcmagent Connect '.

    Uma captura de tela do comando ' AZ Group Create '.

  2. SSH para a VM usando o vagrant ssh comando.SSH to the VM using the vagrant ssh command.

    Uma captura de tela de uma chave SSH conectando-se ao computador Vagrant.

  3. Execute o mesmo azcmagent connect comando comentado usando suas variáveis de ambiente.Run the same azcmagent connect command you commented out using your environment variables.

    Outra captura de tela do comando ' azcmagent Connect '.

Excluir a implantaçãoDelete the deployment

Para excluir toda a implantação, execute o vagrant destroy -f comando.To delete the entire deployment, run the vagrant destroy -f command. O vagrantfile inclui um before: destroy gatilho Vagrant, que executará um script para excluir o grupo de recursos do Azure antes de destruir a VM real.The vagrantfile includes a before: destroy Vagrant trigger, which will run a script to delete the Azure resource group before destroying the actual VM.

Uma captura de tela do comando ' Vagrant Destroy '.