Använda en Azure Resource Manager-mall för att distribuera och ansluta en virtuell Ubuntu-dator till Azure Arc

Den här artikeln innehåller vägledning om hur du använder en ARM-mall för Azure Resource Manager för att automatiskt registrera en virtuell Ubuntu-dator till Azure Arc. Den angivna ARM-mallen ansvarar för att skapa Azure-resurserna och köra Azure Arc-registreringsskriptet på den virtuella datorn.

Virtuella Azure-datorer använder Azure Instance Metadata Service (IMDS) som standard. Genom att projicera en virtuell Azure-dator som en Azure Arc-aktiverad server skapas en konflikt som inte tillåter att Azure Arc-serverresurserna representeras som en när IMDS används. I stället kommer Azure Arc-servern fortfarande att "fungera" som en intern virtuell Azure-dator.

Med den här guiden kan du endast använda och registrera virtuella Azure-datorer i Azure Arc i demosyfte. Du kan simulera en server som distribueras utanför Azure, till exempel lokalt eller på andra molnplattformar.

Kommentar

En virtuell Azure-dator förväntas inte projiceras som en Azure Arc-aktiverad server. Följande scenario stöds inte och bör endast användas för demo- och testningsändamål.

Förutsättningar

  1. Klona Azure Arc Jumpstart-lagringsplatsen.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installera eller uppdatera Azure CLI till version 2.7 och senare. Använd följande kommando för att kontrollera den aktuella installerade versionen.

    az --version
    
  3. Azure-prenumeration: Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt Azure-konto.

  4. Skapa ett Huvudnamn för Azure-tjänsten.

    För att du ska kunna distribuera Azure-resurserna med hjälp av ARM-mallen krävs ett Azure-tjänsthuvudnamn som tilldelats rollen Deltagare. Om du vill skapa det loggar du in på ditt Azure-konto och kör följande kommando. Du kan också köra det här kommandot i 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>"
    

    Till exempel:

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

    Resultatet bör se ut så här:

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

    Kommentar

    Vi rekommenderar starkt att du omfånget tjänstens huvudnamn till en specifik Azure-prenumeration och resursgrupp.

Automationsflöde

Nedan visas en förklaring för att bekanta dig med automatiserings- och distributionsflödet.

  1. En användare redigerar ARM-mallparametrarnas fil (engångsredigering). Dessa parametervärden används under hela distributionen.

  2. ARM-mallen innehåller ett anpassat skripttillägg för virtuella Azure-datorer som distribuerar install_arc_agent.sh shell-skriptet.

  3. För att den virtuella Azure-datorn ska kunna projiceras som en Azure Arc-aktiverad server kommer skriptet att:

    1. Ange lokala os-miljövariabler.

    2. Generera en ~/.bash_profile fil som initieras vid användarens första inloggning för att konfigurera miljön. Det här skriptet kommer att:

      • Stoppa och inaktivera Linux Azure-gästagenttjänsten.

      • Skapa en ny brandväggsregel för operativsystemet för att blockera utgående Azure IMDS-trafik till fjärradressen 169.254.169.254 .

      • Installera den Azure Arc-anslutna datoragenten.

      • Ta bort filen så att den ~/.bash_profile inte körs efter den första inloggningen.

  4. En användare kommer att SSH till den virtuella Linux-datorn, som startar skriptkörningen ~/.bash_profile och registrerar den virtuella datorn till Azure Arc.

    Kommentar

    Shell-skriptet install_arc_agent.sh aktiverar OS-brandväggen och konfigurerar nya regler för inkommande och utgående anslutningar. Som standard tillåts all inkommande och utgående trafik, förutom att blockera utgående Azure IMDS-trafik till fjärradressen 169.254.169.254 .

Distribution

Som nämnts använder den här distributionen ARM-mallar. Du distribuerar en enda mall som ansvarar för att skapa alla Azure-resurser i en enda resursgrupp och registrera den skapade virtuella datorn i Azure Arc.

  1. Innan du distribuerar ARM-mallen loggar du in med Hjälp av Azure CLI med az login kommandot .

  2. Distributionen använder ARM-mallparametrarfilen. Innan du påbörjar distributionen redigerar du azuredeploy.parameters.json filen som finns i den lokala klonade lagringsplatsens mapp. Här finns en exempelparametrarfil.

  3. Om du vill distribuera ARM-mallen går du till den lokala klonade distributionsmappen och kör följande kommando:

    az group create --name <Name of the Azure resource group> --location <Azure region> --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group <Name of the Azure resource group> \
    --name <The name of this deployment> \
    --template-uri https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_servers_jumpstart/azure/linux/arm_template/azuredeploy.json \
    --parameters <The `azuredeploy.parameters.json` parameters file location>
    

    Kommentar

    Se till att använda samma Azure-resursgruppnamn som det du använde i azuredeploy.parameters.json filen.

    Till exempel:

    az group create --name Arc-Servers-Linux-Demo --location "westeurope" --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group Arc-Servers-Linux-Demo \
    --name arclinuxdemo \
    --template-uri https://raw.githubusercontent.com/microsoft/azure_arc/main/azure_arc_servers_jumpstart/azure/linux/arm_template/azuredeploy.json \
    --parameters azuredeploy.parameters.json
    
  4. När Azure-resurser har etablerats visas de i Azure-portalen.

    A screenshot of an output from an ARM template.

    A screenshot resources in the resource group.

Linux-inloggning och efterdistribution

  1. Nu när den virtuella Linux-datorn har skapats ansluter nästa steg till den. Använd dess offentliga IP-adress, SSH till den virtuella datorn.

    A screenshot of an Azure VM public IP address.

  2. Vid första inloggningen , som nämns i avsnittet Automation-flöde , körs ett inloggningsskript. Det här skriptet skapades som en del av den automatiserade distributionsprocessen.

  3. Låt skriptet köras och stäng inte SSH-sessionen. Sessionen stängs automatiskt när den har slutförts.

    A screenshot of one type of script output.

    A screenshot of another type of script output.

    A screenshot of a third type of script output.

  4. När det är klart läggs en ny Azure Arc-aktiverad server till i resursgruppen.

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

    A screenshot of details from an Azure Arc-enabled server.

Rensa

Ta bort hela distributionen genom att ta bort resursgruppen från Azure-portalen.

A screenshot of how to delete resource group