Wdrażanie maszyny wirtualnej z systemem Windows VMware i łączenie jej z usługą Azure Arc przy użyciu planu programu Terraform

Ten artykuł zawiera wskazówki dotyczące wdrażania maszyny wirtualnej z systemem Windows Server, VMware vSphere i łączenia jej jako zasobu serwera z obsługą usługi Azure Arc.

Wymagania wstępne

  1. Sklonuj repozytorium Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Zainstaluj lub zaktualizuj interfejs wiersza polecenia platformy Azure do wersji 2.7 lub nowszej. Użyj następującego polecenia, aby sprawdzić bieżącą zainstalowaną wersję.

    az --version
    
  3. Instalowanie programu Terraform >= 0.12

  4. Użytkownik programu VMware vCenter Server z uprawnieniami do wdrażania maszyny wirtualnej z szablonu w kliencie internetowym vSphere.

  5. Utwórz jednostkę usługi platformy Azure.

    Aby połączyć maszynę wirtualną VMware vSphere z usługą Azure Arc, wymagana jest jednostka usługi platformy Azure przypisana z rolą Współautor. Aby go utworzyć, zaloguj się do konta platformy Azure i uruchom następujące polecenie. To polecenie można również uruchomić w usłudze 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>"
    

    Na przykład:

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

    Dane wyjściowe powinny wyglądać podobnie do poniższych:

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

    Uwaga

    Zdecydowanie zalecamy określanie zakresu jednostki usługi do określonej subskrypcji platformy Azure i grupy zasobów.

Przygotowywanie szablonu maszyny wirtualnej VMware vSphere z systemem Windows Server

Przed użyciem tych wskazówek w celu wdrożenia maszyny wirtualnej z systemem Windows Server i połączenia jej z usługą Azure Arc wymagany jest szablon VMware vSphere. Taki szablon można łatwo utworzyć przy użyciu programu VMware vSphere 6.5 lub nowszego.

Plan narzędzia Terraform używał remote-exec usługi Provisioner, która używa protokołu WinRM do kopiowania i wykonywania wymaganego skryptu usługi Azure Arc. Aby zezwolić na łączność usługi WinRM z maszyną wirtualną, uruchom allow_winrm skrypt programu PowerShell na maszynie wirtualnej przed przekonwertowaniem go na szablon.

Uwaga

Jeśli masz już szablon maszyny wirtualnej z systemem Windows Server, nadal należy użyć przewodnika jako odwołania.

Wdrożenie

Przed wykonaniem planu programu Terraform należy ustawić zmienne środowiskowe, które będą używane przez plan. Te zmienne są oparte na właśnie utworzonej jednostce usługi platformy Azure, subskrypcji i dzierżawie platformy Azure oraz poświadczeń VMware vSphere.

  1. Pobierz identyfikator subskrypcji platformy Azure i identyfikator dzierżawy az account list przy użyciu polecenia .

  2. Plan narzędzia Terraform tworzy zasoby zarówno na platformie Microsoft Azure, jak i w programie VMware vSphere. Następnie wykonuje skrypt na maszynie wirtualnej, aby zainstalować agenta usługi Azure Arc i wszystkie niezbędne artefakty. Ten skrypt wymaga pewnych informacji na temat środowiska VMware vSphere i platformy Azure. Edytuj scripts/vars.sh i aktualizuj każdą ze zmiennych przy użyciu odpowiednich wartości.

    • TF_VAR_subscription_id = identyfikator subskrypcji platformy Azure
    • TF_VAR_client_id = nazwa główna usługi platformy Azure
    • TF_VAR_client_secret = hasło jednostki usługi platformy Azure
    • TF_VAR_tenant_id = identyfikator dzierżawy platformy Azure
    • TF_VAR_resourceGroup = nazwa grupy zasobów platformy Azure
    • TF_VAR_location = Region świadczenia usługi Azure
    • TF_VAR_vsphere_user = nazwa użytkownika administratora vCenter
    • TF_VAR_vsphere_password = hasło administratora programu vCenter
    • TF_VAR_vsphere_server = vCenter Server FQDN/IP
    • TF_VAR_admin_user = nazwa użytkownika administratora systemu operacyjnego
    • TF_VAR_admin_password = hasło administratora systemu operacyjnego
  3. Z poziomu interfejsu azure_arc_servers_jumpstart/vmware/winsrv/terraform wiersza polecenia przejdź do katalogu sklonowanego repozytorium.

  4. Wyeksportuj edytowane zmienne środowiskowe, uruchamiając polecenie scripts/vars.sh źródłowe, jak pokazano poniżej. Narzędzie Terraform wymaga, aby plan był prawidłowo wykonywany. Należy pamiętać, że ten skrypt zostanie również automatycznie wykonany zdalnie na maszynie wirtualnej w ramach wdrożenia programu Terraform.

    source ./scripts/vars.sh
    
  5. Oprócz TF_VAR właśnie wyeksportowanych zmiennych środowiskowych zmodyfikuj zmienne programu Terraform w programie , terraform.tfvars aby dopasować je do środowiska VMware vSphere.

    A screenshot of the TF_VAR environment variables

  6. terraform init Uruchom polecenie , które pobierze dostawców programu Terraform AzureRM, lokalnych i vSphere.

    A screenshot of the terraform init command.

  7. Uruchom polecenie i poczekaj terraform apply --auto-approve na zakończenie planu. Po zakończeniu wdrażania programu Terraform nowa maszyna wirtualna z systemem Windows Server zostanie uruchomiona i będzie projektowana jako zasób serwera usługi Azure Arc w nowo utworzonej grupie zasobów platformy Azure.

    A screenshot of terraform apply completed.

    A screenshot of a new VMware vSphere Windows Server virtual machine.

    A screenshot of an Azure Arc-enabled server in an Azure resource group.

    Another screenshot of an Azure Arc-enabled server in an Azure resource group.

Usuwanie wdrożenia

  • Najprostszym sposobem jest usunięcie zasobu usługi Azure Arc za pośrednictwem witryny Azure Portal, wybranie zasobu i usunięcie go. Ponadto usuń maszynę wirtualną VMware vSphere.

    A screenshot of an Azure Arc-enabled server being deleted.

  • W przypadku ręcznego usunięcia wystąpienia należy również usunąć install_arc_agent.ps1element , który jest tworzony przez plan programu Terraform.

  • Jeśli chcesz usunąć całe środowisko, użyj terraform destroy --auto-approve polecenia , jak pokazano poniżej.

    A screenshot of the terraform destroy command.