Megosztás a következőn keresztül:


Terraform-csomag használata Egy Google Cloud Platform Ubuntu-példány üzembe helyezéséhez és az Azure Archoz való csatlakoztatásához

Ez a cikk útmutatást nyújt a megadott Terraform-csomag használatához a Google Cloud Platform (GCP) példány üzembe helyezéséhez és Azure Arc-kompatibilis kiszolgálói erőforrásként való csatlakoztatásához.

Előfeltételek

  1. Klónozza az Azure Arc Jumpstart-adattárat.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Telepítse vagy frissítse az Azure CLI-t a 2.7-es vagy újabb verzióra. Az alábbi paranccsal ellenőrizze az aktuális telepített verziót.

    az --version
    
  3. SSH-kulcs létrehozása (vagy meglévő SSH-kulcs használata)

  4. Ingyenes Google Cloud Platform-fiók létrehozása

  5. A Terraform >= 0.12 telepítése

  6. Azure-szolgáltatásnév létrehozása.

    Ha a GCP virtuális gépet az Azure Archoz szeretné csatlakoztatni, a közreműködői szerepkörrel hozzárendelt Azure-szolgáltatásnévre van szükség. A létrehozáshoz jelentkezzen be az Azure-fiókjába, és futtassa a következő parancsot. Ezt a parancsot az Azure Cloud Shellben is futtathatja.

    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éldául:

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

    A kimenetnek az alábbihoz hasonlónak kell lennie:

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

    Megjegyzés:

    Javasoljuk, hogy a szolgáltatásnevet egy adott Azure-előfizetésre és erőforráscsoportra terjedje ki.

Új GCP-projekt létrehozása

  1. Keresse meg a Google API-konzolt , és jelentkezzen be Google-fiókjával. Miután bejelentkezett, hozzon létre egy új projektet.Azure Arc demo A létrehozás után mindenképpen másolja le a projektazonosítót, mivel az általában más, mint a projekt neve.

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

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

  2. Miután létrejött az új projekt, és ki van választva a lap tetején található legördülő listában, engedélyeznie kell a Compute Engine API-hozzáférését a projekthez. Kattintson a + API-k és szolgáltatások engedélyezése elemre, és keressen számítási motort. Ezután válassza az Engedélyezés lehetőséget az API-hozzáférés engedélyezéséhez.

    First screenshot of Compute Engine API in the GCP console.

    Second screenshot of Compute Engine API in the GCP console.

  3. Ezután állítson be egy szolgáltatásfiókkulcsot, amelyet a Terraform a GCP-projekt erőforrásainak létrehozására és kezelésére fog használni. Lépjen a szolgáltatásfiók létrehozása lapra. Válassza az Új szolgáltatásfiók lehetőséget a legördülő listából, adjon neki nevet, válassza ki a projektet, majd a tulajdonost szerepkörként, kulcstípusként a JSON-t, és válassza a Létrehozás lehetőséget. Ez letölt egy JSON-fájlt az erőforrások kezeléséhez szükséges összes hitelesítő adattal. Másolja a letöltött JSON-fájlt a azure_arc_servers_jumpstart/gcp/ubuntu/terraform könyvtárba.

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

  4. Végül győződjön meg arról, hogy az SSH-kulcsok elérhetők ~/.ssh és elnevezettek id_rsa.pubid_rsa. Ha követte a ssh-keygen fenti útmutatót a kulcs létrehozásához, akkor ezt már megfelelően be kell állítania. Ha nem, előfordulhat, hogy módosítania main.tf kell, hogy egy másik elérési úttal rendelkező kulcsot használjon.

Üzembe helyezés

A Terraform-terv végrehajtása előtt exportálnia kell a terv által használt környezeti változókat. Ezek a változók az imént létrehozott Azure-szolgáltatásnéven, az Azure-előfizetésen és -bérlőn, valamint a GCP-projektnéven alapulnak.

  1. A parancs használatával kérje le az Azure-előfizetés azonosítóját és bérlőazonosítóját az account list .

  2. A Terraform-csomag erőforrásokat hoz létre a Microsoft Azure-ban és a Google Cloud Platformban is. Ezután végrehajt egy szkriptet egy GCP virtuális gépen az Azure Arc-ügynök és az összes szükséges összetevő telepítéséhez. Ez a szkript bizonyos információkat igényel a GCP-ről és az Azure-környezetekről. Szerkessze scripts/vars.sh és frissítse az egyes változókat a megfelelő értékekkel.

    • TF_VAR_subscription_id= az Azure-előfizetés azonosítója
    • TF_VAR_client_id = az Azure-szolgáltatásnév alkalmazásazonosítója
    • TF_VAR_client_secret = az Azure-szolgáltatásnév jelszava
    • TF_VAR_tenant_id = az Azure-bérlő azonosítója
    • TF_VAR_gcp_project_id = GCP-projektazonosító
    • TF_VAR_gcp_credentials_filename = GCP hitelesítő adatok JSON-fájlneve
  3. A parancssori felületről lépjen a azure_arc_servers_jumpstart/gcp/ubuntu/terraform klónozott adattár könyvtárába.

  4. Exportálja a módosított scripts/vars.sh környezeti változókat a forrásparancs futtatásával, az alább látható módon. A Terraform megköveteli, hogy ezeket be kell állítani a terv megfelelő végrehajtásához. Vegye figyelembe, hogy ezt a szkriptet a rendszer a Terraform-telepítés részeként automatikusan távolról is végrehajtja a GCP virtuális gépen.

    source ./scripts/vars.sh
    
  5. Futtassa azt a terraform init parancsot, amely letölti a Terraform AzureRM-szolgáltatót.

    A screenshot of the terraform init command.

  6. Ezután futtassa a terraform apply --auto-approve parancsot, és várja meg, amíg a terv befejeződik. A befejezés után üzembe helyez egy GCP Ubuntu virtuális gépet, és új Azure Arc-kompatibilis kiszolgálóként csatlakozik egy új erőforráscsoporton belül.

  7. Nyissa meg az Azure Portalt, és keresse meg az arc-gcp-demo erőforráscsoportot. A GCP-ben létrehozott virtuális gép erőforrásként lesz látható.

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

Félautomata üzembe helyezés (nem kötelező)

Mint bizonyára észrevette, a futtatás utolsó lépéseként regisztrálja a virtuális gépet egy új Azure Arc-kompatibilis kiszolgálói erőforrásként.

A screenshot of running the azcmagent connect command.

Ha le szeretné demózni/szabályozni a tényleges regisztrációs folyamatot, tegye a következőket:

  1. install_arc_agent.sh.tmpl A szkriptsablonban megjegyzést fűzhet a run connect command szakaszhoz, és mentheti a fájlt.

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

  2. Futtassa a GCP virtuális gép terraform outputnyilvános IP-címét.

    A screenshot of output from Terraform.

  3. A virtuális gép SSH-t használ a ssh arcadmin@xx.xx.xx.xxxx.xx.xx.xx gazda IP-címével.

    A screenshot of an SSH key connecting to a GCP server.

  4. Az összes környezeti változó exportálása a következő helyen: vars.sh

    A screenshot of environment variables exporting with vars.sh.

  5. Futtassa az alábbi parancsot:

    azcmagent connect --service-principal-id $TF_VAR_client_id --service-principal-secret $TF_VAR_client_secret --resource-group "Azure Arc gcp-demo" --tenant-id $TF_VAR_tenant_id --location "westus2" --subscription-id $TF_VAR_subscription_id
    

    A screenshot of the azcmagent connect command completing successfully.

  6. Ha elkészült, a virtuális gép regisztrálva lesz az Azure Arcban, és látható lesz az erőforráscsoportban az Azure Portalon keresztül.

Az üzembe helyezés törlése

A bemutató részeként létrehozott összes erőforrás törléséhez használja az terraform destroy --auto-approve alábbi parancsot.

A screenshot of the terraform destroy command.

Másik lehetőségként törölheti a GCP virtuális gépet közvetlenül a GCP-konzolról.

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