Een Terraform-plan gebruiken om een Google Cloud Platform Windows-exemplaar te implementeren en deze te verbinden met Azure Arc
Dit artikel bevat richtlijnen voor het gebruik van het opgegeven Terraform-plan voor het implementeren van een GCP-exemplaar (Windows Server Google Cloud Platform) en het verbinden als een serverresource met Azure Arc.
Vereisten
Kloon de Azure Arc Jumpstart-opslagplaats.
git clone https://github.com/microsoft/azure_arc.git
Azure CLI installeren of bijwerken naar versie 2.7 en hoger. Gebruik de volgende opdracht om uw huidige geïnstalleerde versie te controleren.
az --version
Google Cloud Platform-account waarvoor facturering is ingeschakeld: Maak een gratis proefaccount. Als u virtuele Windows Server-machines wilt maken, moet u uw account upgraden om facturering in te schakelen. Selecteer Facturering in het menu en selecteer vervolgens Upgrade in de rechterbenedenhoek.
Disclaimer: Als u onverwachte kosten wilt voorkomen, volgt u de sectie 'De implementatie verwijderen' aan het einde van dit artikel.
Maak een Azure-service-principal.
Als u de virtuele GCP-machine wilt verbinden met Azure Arc, is een Azure-service-principal vereist die is toegewezen met de rol Inzender. Als u deze wilt maken, meldt u zich aan bij uw Azure-account en voert u de volgende opdracht uit. U kunt deze opdracht ook uitvoeren in 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>"
Voorbeeld:
az ad sp create-for-rbac -n "http://AzureArcGCP" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
De uitvoer moet er ongeveer als volgt uitzien:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcGCP", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Notitie
We raden u ten zeerste aan om de service-principal te koppelen aan een specifiek Azure-abonnement en een specifieke resourcegroep.
Een nieuw GCP-project maken
Blader naar de Google API-console en meld u aan met uw Google-account. Zodra u bent aangemeld, maakt u een nieuw project met de naam
Azure Arc demo
. Nadat u deze hebt gemaakt, moet u de project-id kopiëren, omdat deze meestal verschilt van de projectnaam.Zodra het nieuwe project is gemaakt en geselecteerd in de vervolgkeuzelijst boven aan de pagina, moet u de API-toegang van de compute engine voor het project inschakelen. Klik op + API's en services inschakelen en zoek naar de berekeningsengine. Selecteer Vervolgens Inschakelen om API-toegang in te schakelen.
Stel vervolgens een serviceaccountsleutel in die Terraform gebruikt om resources in uw GCP-project te maken en te beheren. Ga naar de pagina serviceaccountsleutel maken. Selecteer Nieuw serviceaccount in de vervolgkeuzelijst, geef het een naam, selecteer project en eigenaar als de rol, JSON als sleuteltype en selecteer Maken. Hiermee downloadt u een JSON-bestand met alle referenties die nodig zijn voor Terraform om de resources te beheren. Kopieer het gedownloade JSON-bestand naar de
azure_arc_servers_jumpstart/gcp/windows/terraform
map.
Implementatie
Voordat u het Terraform-plan uitvoert, moet u de omgevingsvariabelen instellen en exporteren die door het plan worden gebruikt. Deze variabelen zijn gebaseerd op de Azure-service-principal die u zojuist hebt gemaakt, uw Azure-abonnement en -tenant en de naam van het GCP-project.
Haal uw Azure-abonnements-id en tenant-id op met behulp van de
az account list
opdracht.Het Terraform-plan maakt resources in zowel Microsoft Azure als Google Cloud Platform. Vervolgens wordt een script uitgevoerd op een virtuele GCP-machine om de Azure Arc-agent en alle benodigde artefacten te installeren. Dit script vereist bepaalde informatie over uw GCP- en Azure-omgevingen. Bewerk en werk
scripts/vars.sh
elk van de variabelen bij met de juiste waarden.TF_VAR_subscription_id
= uw Azure-abonnements-idTF_VAR_client_id
= de toepassings-id van uw Azure-service-principalTF_VAR_client_secret
= wachtwoord voor uw Azure-service-principalTF_VAR_tenant_id
= uw Azure-tenant-idTF_VAR_gcp_project_id
= GCP-project-idTF_VAR_gcp_credentials_filename
= JSON-bestandsnaam van GCP-referenties
Navigeer vanuit CLI naar de
azure_arc_servers_jumpstart/gcp/windows/terraform
map van de gekloonde opslagplaats.Exporteer de omgevingsvariabelen die u hebt bewerkt door deze uit te voeren
scripts/vars.sh
met de bronopdracht, zoals hieronder wordt weergegeven. Terraform vereist dat deze worden ingesteld voor de juiste uitvoering van het plan.source ./scripts/vars.sh
Voer de
terraform init
opdracht uit waarmee de Terraform AzureRM-provider wordt gedownload.Voer vervolgens de
terraform apply --auto-approve
opdracht uit en wacht tot het plan is voltooid. Nadat het Terraform-script is voltooid, hebt u een GCP Windows Server 2019-VM geïmplementeerd en een script gestart om de Azure Arc-agent te downloaden naar de VIRTUELE machine en de VM te verbinden als een nieuwe server met Azure Arc in een nieuwe Azure-resourcegroep. Het duurt enkele minuten voordat de agent klaar is met inrichten, dus pak een kopje koffie.Na een paar minuten moet u Azure Portal kunnen openen en naar de
arc-gcp-demo
resourcegroep navigeren. De virtuele Windows Server-machine die in GCP is gemaakt, is zichtbaar als een resource.
Semi-geautomatiseerde implementatie (optioneel)
Het Terraform-plan installeert automatisch de Azure Arc-agent en verbindt de VM met Azure als een beheerde resource door een PowerShell-script uit te voeren wanneer de virtuele machine voor het eerst wordt opgestart.
Als u het daadwerkelijke registratieproces wilt demo/beheren, gaat u als volgt te werk:
Voordat u de
terraform apply
opdracht uitvoert, opentmain.tf
en markeert u dewindows-startup-script-ps1 = local-file.install_arc_agent-ps1.content
regel en slaat u het bestand op.Voer
terraform apply --auto-approve
de bovenstaande opdracht uit.Open de GCP-console en navigeer naar de pagina rekeninstantie en selecteer vervolgens de virtuele machine die is gemaakt.
Maak een gebruiker en wachtwoord voor de virtuele machine door Wachtwoord instellen te selecteren en een gebruikersnaam op te geven.
RDP in de VIRTUELE machine door de RDP-knop te selecteren op de pagina VM in de GCP-console en meld u aan met de gebruikersnaam en het wachtwoord die u zojuist hebt gemaakt.
Nadat u bent aangemeld, opent u PowerShell ISE als Beheer istrator. Zorg ervoor dat u de x64-versie van PowerShell ISE uitvoert en niet de x86-versie. Nadat u het bestand hebt geopend, selecteert u Bestand > nieuw om een leeg
.ps1
bestand te maken. Plak vervolgens de volledige inhoud van./scripts/install_arc_agent.ps1
. Klik op de afspeelknop om het script uit te voeren. Als u klaar bent, ziet u de uitvoer met geslaagde onboarding van de machine.
De implementatie verwijderen
Als u alle resources die u hebt gemaakt als onderdeel van deze demo wilt verwijderen, gebruikt u de terraform destroy --auto-approve
opdracht, zoals hieronder wordt weergegeven.
U kunt de GCP-VM ook rechtstreeks uit de GCP-console verwijderen.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor