Wdrażanie wystąpienia systemu Windows platformy Google Cloud Platform i łączenie go z usługą Azure Arc przy użyciu planu terraform

Ten artykuł zawiera wskazówki dotyczące wdrażania wystąpienia platformy Google Cloud Platform (GCP) systemu Windows Server i łączenia go 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. Konto platformy Google Cloud Platform z włączonym rozliczeniami: tworzenie bezpłatnego konta wersji próbnej. Aby utworzyć maszyny wirtualne z systemem Windows Server, musisz uaktualnić konto, aby włączyć rozliczenia. Wybierz pozycję Rozliczenia z menu, a następnie wybierz pozycję Uaktualnij w prawym dolnym rogu.

    First screenshot showing how to enable billing on a GCP account.

    Second screenshot showing how to enable billing on a GCP account.

    Third screenshot showing how to enable billing on a GCP account.

    Zastrzeżenie: Aby zapobiec nieoczekiwanym opłatom, postępuj zgodnie z sekcją "Usuń wdrożenie" na końcu tego artykułu.

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

    Aby połączyć maszynę wirtualną GCP 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://AzureArcGCP" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

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

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

    Uwaga

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

Tworzenie nowego projektu GCP

  1. Przejdź do konsoli interfejsu API Google i zaloguj się przy użyciu konta Google. Po zalogowaniu utwórz nowy projekt o nazwie Azure Arc demo. Po jego utworzeniu pamiętaj, aby skopiować identyfikator projektu, ponieważ zwykle różni się on od nazwy projektu.

    First screenshot of the New Project page in the GCP console.

    Second screenshot of the New Project page in the GCP console.

  2. Po utworzeniu nowego projektu i wybraniu go na liście rozwijanej w górnej części strony należy włączyć dostęp do interfejsu API aparatu obliczeniowego dla projektu. Kliknij pozycję + Włącz interfejsy API i usługi i wyszukaj aparat obliczeniowy. Następnie wybierz pozycję Włącz , aby włączyć dostęp do interfejsu API.

    First screenshot of Compute Engine API in the GCP console.

    Second screenshot of Compute Engine API in the GCP console.

  3. Następnie skonfiguruj klucz konta usługi, którego narzędzie Terraform będzie używać do tworzenia zasobów w projekcie GCP i zarządzania nimi. Przejdź do strony tworzenia klucza konta usługi. Z listy rozwijanej wybierz pozycję Nowe konto usługi, nadaj mu nazwę, wybierz pozycję projekt, a następnie wybierz pozycję Właściciel jako rolę, plik JSON jako typ klucza, a następnie wybierz pozycję Utwórz. Spowoduje to pobranie pliku JSON ze wszystkimi poświadczeniami wymaganymi do zarządzania zasobami przez program Terraform. Skopiuj pobrany plik JSON do azure_arc_servers_jumpstart/gcp/windows/terraform katalogu.

    A screenshot of how to create a service account in the GCP console.

Wdrożenie

Przed wykonaniem planu programu Terraform należy ustawić, a następnie wyeksportować 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 nazwie projektu GCP.

  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 usłudze Google Cloud Platform. Następnie wykonuje skrypt na maszynie wirtualnej GCP w celu zainstalowania agenta usługi Azure Arc i wszystkich niezbędnych artefaktów. Ten skrypt wymaga pewnych informacji na temat środowiska GCP 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 = identyfikator aplikacji jednostki 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_gcp_project_id = identyfikator projektu GCP
    • TF_VAR_gcp_credentials_filename = nazwa pliku JSON poświadczeń GCP
  3. Z poziomu interfejsu azure_arc_servers_jumpstart/gcp/windows/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.

    source ./scripts/vars.sh
    
  5. terraform init Uruchom polecenie , które pobierze dostawcę modułu AzureRM programu Terraform.

    A screenshot of the terraform init command.

  6. Następnie uruchom terraform apply --auto-approve polecenie i poczekaj na zakończenie planu. Po ukończeniu skryptu narzędzia Terraform wdrożysz maszynę wirtualną Z systemem Windows Server 2019 GCP i zainicjowano skrypt umożliwiający pobranie agenta usługi Azure Arc do maszyny wirtualnej i połączenie maszyny wirtualnej jako nowego serwera z obsługą usługi Azure Arc w nowej grupie zasobów platformy Azure. Aprowizacja agenta potrwa kilka minut, więc chwyć filiżankę kawy.

    A screenshot of the terraform apply command.

  7. Po kilku minutach powinno być możliwe otwarcie witryny Azure Portal i przejście do arc-gcp-demo grupy zasobów. Maszyna wirtualna z systemem Windows Server utworzona w GCP będzie widoczna jako zasób.

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

Wdrożenie częściowo zautomatyzowane (opcjonalne)

Plan narzędzia Terraform automatycznie instaluje agenta usługi Azure Arc i łączy maszynę wirtualną z platformą Azure jako zasób zarządzany, wykonując skrypt programu PowerShell po pierwszym uruchomieniu maszyny wirtualnej.

A screenshot of the azcmagent connect command.

Jeśli chcesz demo/kontrolować rzeczywisty proces rejestracji, wykonaj następujące czynności:

  1. Przed uruchomieniem terraform apply polecenia otwórz main.tf i oznacz jako komentarz windows-startup-script-ps1 = local-file.install_arc_agent-ps1.content wiersz i zapisz plik.

    A screenshot showing main.tf being commented out to disable automatic onboarding of an Azure Arc agent.

  2. Uruchom polecenie terraform apply --auto-approve zgodnie z instrukcjami powyżej.

  3. Otwórz konsolę GCP i przejdź do strony wystąpienia obliczeniowego, a następnie wybierz utworzoną maszynę wirtualną.

    A screenshot of a server in the GCP console.

    A screenshot showing how to reset a password for a Windows Server in the GCP console.

  4. Utwórz użytkownika i hasło dla maszyny wirtualnej, wybierając pozycję Ustaw hasło i określając nazwę użytkownika.

    A screenshot showing how to set a username and password for a Windows Server in the GCP console.

  5. Połączenie RDP z maszyną wirtualną przez wybranie przycisku RDP na stronie maszyny wirtualnej w konsoli GCP i zalogowanie się przy użyciu właśnie utworzonej nazwy użytkownika i hasła.

    A screenshot showing how to RDP into a GCP instance.

  6. Po zalogowaniu otwórz program PowerShell ISE jako Administracja istrator. Upewnij się, że używasz wersji x64 programu PowerShell ISE, a nie wersji x86. Po otwarciu wybierz pozycję Plik > nowy , aby utworzyć pusty .ps1 plik. Następnie wklej całą zawartość pliku ./scripts/install_arc_agent.ps1. Kliknij przycisk odtwarzania, aby wykonać skrypt. Po zakończeniu powinny zostać wyświetlone dane wyjściowe przedstawiające pomyślne dołączanie maszyny.

    Screenshot showing the Windows PowerShell integrated scripting environment with an Azure Arc agent connection script.

Usuwanie wdrożenia

Aby usunąć wszystkie zasoby utworzone w ramach tego pokazu terraform destroy --auto-approve , użyj polecenia , jak pokazano poniżej.

A screenshot of the terraform destroy command.

Alternatywnie można usunąć maszynę wirtualną GCP bezpośrednio z konsoli GCP.

A screenshot showing how to delete a virtual machine from the GCP console.