Använd en terraform-plan för att distribuera en virtuell VMware Windows-dator och ansluta den till Azure-bågenUse a Terraform plan to deploy a VMware Windows virtual machine and connect it to Azure Arc

Den här artikeln innehåller rikt linjer för hur du använder den tillhandahållna terraform -planen för att distribuera en Windows-Server, VMware vSphere virtuell dator och ansluta den som en Azure Arc-aktiverad server resurs.This article provides guidance for using the provided Terraform plan to deploy a Windows Server, VMware vSphere virtual machine and connect it as an Azure Arc enabled server resource.

FörutsättningarPrerequisites

  1. Klona Azure Arc rivstart med-lagringsplatsen.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installera eller uppdatera Azure CLI till version 2,7 och senare.Install or update Azure CLI to version 2.7 and above. Använd följande kommando för att kontrol lera den aktuella installerade versionen.Use the following command to check your current installed version.

    az --version
    
  3. Installera terraform >= 0,12Install Terraform >= 0.12

  4. En VMware vCenter Server användare med behörighet att distribuera en virtuell dator från en mall i vSphere-webbklienten.A VMware vCenter Server user with permissions to deploy a virtual machine from a template in the vSphere web client.

  5. Skapa ett huvud namn för Azure-tjänsten.Create an Azure service principal.

    För att ansluta den VMware vSphere virtuella datorn till Azure-bågen krävs ett Azure-tjänstens huvud namn som tilldelats rollen deltagare.To connect the VMware vSphere virtual machine to Azure Arc, an Azure service principal assigned with the Contributor role is required. Om du vill skapa den loggar du in på ditt Azure-konto och kör följande kommando.To create it, sign in to your Azure account and run the following command. Du kan också köra det här kommandot i 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
    

    Exempel:For example:

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

    Utdata bör se ut så här:Output should look like this:

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

    Anteckning

    Vi rekommenderar starkt att du omfångerar tjänstens huvud namn till en Azure-prenumeration och en unik resurs grupp.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

Förbered en mall för Windows Server VMware vSphere VMPrepare a Windows Server VMware vSphere VM template

Innan du använder den här vägledningen för att distribuera en virtuell Windows Server-dator och ansluta den till Azure-bågen krävs en VMware vSphere mall.Before using this guidance to deploy a Windows Server VM and connect it to Azure Arc, a VMware vSphere template is required. Du kan enkelt skapa en sådan mall med VMware vSphere 6,5 och senare.You can easily create such a template using VMware vSphere 6.5 and above.

Terraform-planen använde remote-exec etableringen som använder WinRM-protokollet för att kopiera och köra det obligatoriska Azure Arc-skriptet. Om du vill tillåta WinRM-anslutning till den virtuella datorn kör du allow_winrm PowerShell-skriptet på den virtuella datorn innan du konverterar det till mallen.The Terraform plan used the remote-exec provisioner which uses the WinRM protocol to copy and execute the required Azure Arc script. To allow WinRM connectivity to the VM, run the allow_winrm PowerShell script on your VM before converting it to template.

Anteckning

Om du redan har en mall för virtuella Windows Server-datorer bör du fortfarande använda guiden som referens.If you already have a Windows Server VM template it is still recommended to use the guide as a reference.

DistributionDeployment

Innan du kör terraform-planen måste du ange de miljövariabler som ska användas av planen.Before executing the Terraform plan, you must set the environment variables which will be used by the plan. Dessa variabler baseras på Azure-tjänstens huvud namn som du precis har skapat, din Azure-prenumeration och klient organisation och dina VMware vSphere autentiseringsuppgifter.These variables are based on the Azure service principal you've just created, your Azure subscription and tenant, and your VMware vSphere credentials.

  1. Hämta ditt Azure-prenumerations-ID och klient-ID med hjälp av az account list kommandot.Retrieve your Azure subscription ID and tenant ID using the az account list command.

  2. Terraform-planen skapar resurser i både Microsoft Azure och VMware vSphere.The Terraform plan creates resources in both Microsoft Azure and VMware vSphere. Sedan körs ett skript på den virtuella datorn för att installera Azure Arc-agenten och alla nödvändiga artefakter.It then executes a script on the virtual machine to install the Azure Arc agent and all necessary artifacts. Det här skriptet kräver viss information om dina VMware vSphere-och Azure-miljöer.This script requires certain information about your VMware vSphere and Azure environments. Redigera scripts/vars.sh och uppdatera varje variabel med lämpliga värden.Edit scripts/vars.sh and update each of the variables with the appropriate values.

    • TF_VAR_subscription_id = Ditt Azure-prenumerations-IDTF_VAR_subscription_id = Your Azure subscription ID
    • TF_VAR_client_id = Ditt tjänst huvud namn för AzureTF_VAR_client_id = Your Azure service principal name
    • TF_VAR_client_secret = Ditt lösen ord för Azure-tjänstens huvud namnTF_VAR_client_secret = Your Azure service principal password
    • TF_VAR_tenant_id = Ditt Azure-klient-IDTF_VAR_tenant_id = Your Azure tenant ID
    • TF_VAR_resourceGroup = Namn på Azure-resurs gruppTF_VAR_resourceGroup = Azure resource group name
    • TF_VAR_location = Azure-regionTF_VAR_location = Azure Region
    • TF_VAR_vsphere_user = vCenter admin-användarnamnTF_VAR_vsphere_user = vCenter Admin Username
    • TF_VAR_vsphere_password = vCenter administratörs lösen ordTF_VAR_vsphere_password = vCenter Admin Password
    • TF_VAR_vsphere_server = vCenter Server FQDN/IPTF_VAR_vsphere_server = vCenter server FQDN/IP
    • TF_VAR_admin_user = OS-administratörens användar namnTF_VAR_admin_user = OS Admin Username
    • TF_VAR_admin_password = OS-administratörens lösen ordTF_VAR_admin_password = OS Admin Password
  3. Från CLI navigerar du till azure_arc_servers_jumpstart/vmware/winsrv/terraform katalogen för den klonade lagrings platsen.From CLI, navigate to the azure_arc_servers_jumpstart/vmware/winsrv/terraform directory of the cloned repo.

  4. Exportera de miljövariabler som du har redigerat genom scripts/vars.sh att köra med käll kommandot som visas nedan.Export the environment variables you edited by running scripts/vars.sh with the source command as shown below. Terraform kräver att dessa ställs in för att planen ska kunna köras korrekt.Terraform requires these to be set for the plan to execute properly. Observera att det här skriptet också körs automatiskt på en fjärrdator i den virtuella datorn som en del av terraform-distributionen.Note that this script will also be automatically executed remotely on the virtual machine as part of the Terraform deployment.

    source ./scripts/vars.sh
    
  5. Förutom de TF_VAR miljövariabler som du just har exporterat redigerar du terraform-variablerna i terraform.tfvars för att matcha din VMware vSphere-miljö.In addition to the TF_VAR environment variables you've just exported, edit the Terraform variables in the terraform.tfvars to match your VMware vSphere environment.

    En skärm bild av miljövariablerna TF_VAR

  6. Kör terraform init kommandot som laddar ned terraform-AzureRM, lokala och vSphere-providers.Run the terraform init command which will download the Terraform AzureRM, local and vSphere providers.

    En skärm bild av kommandot "terraform init".

  7. Kör terraform apply --auto-approve kommandot och vänta tills planen har slutförts.Run the terraform apply --auto-approve command and wait for the plan to finish. När terraform-distributionen har slutförts kommer en ny virtuell Windows Server-dator att vara igång och kommer att projiceras som en Azure båg Server-resurs i en nyligen skapad Azure-resurs grupp.Once the Terraform deployment is completed, a new Windows Server VM will be up and running and will be projected as an Azure Arc server resource in a newly created Azure resource group.

    En skärm bild av "terraform Apply" är klar.

    En skärm bild av en ny VMware vSphere virtuell Windows Server-dator.

    En skärm bild av en Azure Arc-aktiverad server i en Azure-resurs grupp.

    En annan skärm bild av en Azure Arc-aktiverad server i en Azure-resurs grupp.

Ta bort distributionenDelete the deployment

  • Det enklaste sättet är att ta bort Azure Arc-resursen via Azure Portal, markera bara resursen och ta bort den.The most straightforward way is to delete the Azure Arc resource via the Azure portal, just select the resource and delete it. Ta också bort den virtuella datorn VMware vSphere.In addition, delete the VMware vSphere VM.

    En skärm bild av en Azure Arc-aktiverad server som tas bort.

  • Om du tar bort instansen manuellt bör du också ta bort install_arc_agent.ps1 , som skapas av terraform-planen.If you delete the instance manually, then you should also delete install_arc_agent.ps1, which is created by the Terraform plan.

  • Om du vill avbryta hela miljön använder du terraform destroy --auto-approve kommandot som visas nedan.If you want to tear down the entire environment, use the terraform destroy --auto-approve command as shown below.

    En skärm bild av kommandot "terraform förstör".