Nasazení instance Windows Google Cloud Platform pomocí plánu Terraformu a jeho připojení ke službě Azure Arc

Tento článek obsahuje pokyny pro použití poskytnutého plánu Terraformu k nasazení instance GCP (Windows Server Google Cloud Platform) a jeho připojení jako prostředku serveru s podporou Azure Arc.

Požadavky

  1. Naklonujte úložiště Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Nainstalujte nebo aktualizujte Azure CLI na verzi 2.7 a novější. Pomocí následujícího příkazu zkontrolujte aktuální nainstalovanou verzi.

    az --version
    
  3. Instalace Terraformu >= 0.12

  4. Účet Google Cloud Platform s povolenou fakturací: Vytvořte si bezplatný zkušební účet. Pokud chcete vytvořit virtuální počítače s Windows Serverem, musíte upgradovat svůj účet, aby se povolila fakturace. V nabídce vyberte Fakturace a v pravém dolním rohu vyberte Upgradovat .

    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.

    Právní omezení: Pokud chcete zabránit neočekávaným poplatkům, postupujte podle části Odstranění nasazení na konci tohoto článku.

  5. Vytvořte instanční objekt Azure.

    K připojení virtuálního počítače GCP ke službě Azure Arc se vyžaduje instanční objekt Azure přiřazený s rolí Přispěvatel. Pokud ho chcete vytvořit, přihlaste se ke svému účtu Azure a spusťte následující příkaz. Tento příkaz můžete spustit také v Azure Cloud Shellu.

    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>"
    

    Příklad:

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

    Výstup by měl vypadat takto:

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

    Poznámka:

    Důrazně doporučujeme nastavit obor instančního objektu na konkrétní předplatné Azure a skupinu prostředků.

Vytvoření nového projektu GCP

  1. Přejděte do konzoly Rozhraní API Google a přihlaste se pomocí svého účtu Google. Po přihlášení vytvořte nový projekt s názvem Azure Arc demo. Po jeho vytvoření nezapomeňte zkopírovat ID projektu, protože se obvykle liší od názvu projektu.

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

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

  2. Jakmile se nový projekt vytvoří a vybere v rozevíracím seznamu v horní části stránky, musíte pro projekt povolit přístup k rozhraní API výpočetního modulu. Klikněte na + Povolit rozhraní API a služby a vyhledejte výpočetní modul. Pak vyberte Povolit, pokud chcete povolit přístup k rozhraní API.

    First screenshot of Compute Engine API in the GCP console.

    Second screenshot of Compute Engine API in the GCP console.

  3. Dále nastavte klíč účtu služby, který Terraform použije k vytváření a správě prostředků v projektu GCP. Přejděte na stránku pro vytvoření klíče účtu služby. V rozevíracím seznamu vyberte Nový účet služby, pojmenujte ho, jako roli vyberte projekt, jako typ klíče JSON a vyberte Vytvořit. Tím se stáhne soubor JSON se všemi přihlašovacími údaji potřebnými ke správě prostředků Terraform. Zkopírujte stažený soubor JSON do azure_arc_servers_jumpstart/gcp/windows/terraform adresáře.

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

Nasazení

Před spuštěním plánu Terraform je nutné nastavit a pak exportovat proměnné prostředí, které bude plán používat. Tyto proměnné jsou založené na právě vytvořeném instančním objektu Azure, předplatném a tenantovi Azure a názvu projektu GCP.

  1. Pomocí příkazu načtěte ID předplatného Azure a ID tenanta az account list .

  2. Plán Terraformu vytváří prostředky v Microsoft Azure i Google Cloud Platform. Potom na virtuálním počítači GCP spustí skript pro instalaci agenta Azure Arc a všech nezbytných artefaktů. Tento skript vyžaduje určité informace o prostředích GCP a Azure. Upravte a aktualizujte scripts/vars.sh jednotlivé proměnné příslušnými hodnotami.

    • TF_VAR_subscription_id = ID vašeho předplatného Azure
    • TF_VAR_client_id = ID vaší aplikace instančního objektu Azure
    • TF_VAR_client_secret = vaše heslo instančního objektu Azure
    • TF_VAR_tenant_id = ID tenanta Azure
    • TF_VAR_gcp_project_id = ID projektu GCP
    • TF_VAR_gcp_credentials_filename = Název souboru JSON přihlašovacích údajů GCP
  3. Z rozhraní příkazového řádku přejděte do azure_arc_servers_jumpstart/gcp/windows/terraform adresáře klonovaného úložiště.

  4. Exportujte proměnné prostředí, které jste upravili spuštěním scripts/vars.sh zdrojového příkazu, jak je znázorněno níže. Terraform vyžaduje, aby se plán správně spustil.

    source ./scripts/vars.sh
    
  5. terraform init Spusťte příkaz, který stáhne zprostředkovatele Terraform AzureRM.

    A screenshot of the terraform init command.

  6. Potom spusťte terraform apply --auto-approve příkaz a počkejte na dokončení plánu. Po dokončení skriptu Terraformu jste nasadili virtuální počítač GCP s Windows Serverem 2019 a zahájili skript pro stažení agenta Azure Arc k virtuálnímu počítači a připojení virtuálního počítače jako nového serveru s podporou Azure Arc do nové skupiny prostředků Azure. Než agent dokončí zřizování, bude trvat několik minut, takže si šálek kávy.

    A screenshot of the terraform apply command.

  7. Po několika minutách byste měli být schopni otevřít Azure Portal a přejít do arc-gcp-demo skupiny prostředků. Virtuální počítač s Windows Serverem vytvořený v GCP se zobrazí jako prostředek.

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

Částečně automatizované nasazení (volitelné)

Plán Terraformu automaticky nainstaluje agenta Azure Arc a připojí virtuální počítač k Azure jako spravovaný prostředek spuštěním skriptu PowerShellu při prvním spuštění virtuálního počítače.

A screenshot of the azcmagent connect command.

Pokud chcete provést ukázku nebo řízení skutečného procesu registrace, postupujte takto:

  1. Před spuštěním terraform apply příkazu otevřete main.tf řádek a zakomentujte ho windows-startup-script-ps1 = local-file.install_arc_agent-ps1.content a uložte ho.

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

  2. Spusťte terraform apply --auto-approve podle pokynů výše.

  3. Otevřete konzolu GCP a přejděte na stránku výpočetní instance a vyberte vytvořený virtuální počítač.

    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. Vytvořte uživatele a heslo pro virtuální počítač tak, že vyberete Nastavit heslo a zadáte uživatelské jméno.

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

  5. Přihlaste se k virtuálnímu počítači tak, že na stránce virtuálního počítače v konzole GCP vyberete tlačítko RDP a přihlásíte se pomocí uživatelského jména a hesla, které jste právě vytvořili.

    A screenshot showing how to RDP into a GCP instance.

  6. Po přihlášení otevřete prostředí PowerShell ISE jako Správa istrator. Ujistěte se, že používáte verzi prostředí PowerShell ISE x64, a ne verzi x86. Po otevření vyberte Nový soubor > a vytvořte prázdný .ps1 soubor. Potom vložte celý obsah souboru ./scripts/install_arc_agent.ps1. Kliknutím na tlačítko Přehrát spusťte skript. Po dokončení by se měl zobrazit výstup s úspěšným onboardingem počítače.

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

Odstranění nasazení

Pokud chcete odstranit všechny prostředky, které jste vytvořili v rámci této ukázky, použijte terraform destroy --auto-approve příkaz, jak je znázorněno níže.

A screenshot of the terraform destroy command.

Případně můžete virtuální počítač GCP odstranit přímo z konzoly GCP.

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