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

Den här artikeln innehåller råd om hur du använder en arm Azure Resource Manager mall för att automatiskt publicera en virtuell Ubuntu-dator för Azure Arc. Den tillhandahållna ARM-mallen ansvarar för att skapa Azure-resurser och köra Azure Arc publicera skript 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-serverresurser representeras som en när IMDS används. I stället kommer Azure Arc fortfarande "fungera" som en ursprunglig virtuell Azure-dator.

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

Anteckning

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 i demo- och testsyfte.

Förutsättningar

  1. Klona lagringsplatsen Azure Arc Jumpstart.

    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 din aktuella installerade version.

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

  4. Skapa azure-tjänstens huvudnamn.

    För att du ska kunna distribuera Azure-resurser med arm-mallen krävs ett Huvudnamn för Azure-tjänsten som tilldelats rollen Deltagare. Skapa det genom att logga in på ditt Azure-konto och köra följande kommando. Du kan också köra det här kommandot i Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    Exempel:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

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

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

    Anteckning

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

Automation-flöde

Nedan visas en förklaring för att du ska kunna bekanta dig med automations- och distributionsflödet.

  1. En användare redigerar ARM-mallparameterfilen (redigering en gång). Dessa parametervärden används i 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 ~/.bash_profile en 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 trafik från Azure IMDS till 169.254.169.254 fjärradressen.

      • Installera den Azure Arc anslutna datoragenten.

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

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

    Anteckning

    install_arc_agent.shShell-skriptet aktiverar operativsystemets brandvägg och uppsättningar 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 169.254.169.254 fjärradressen.

Distribution

Som tidigare 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 enskild resursgrupp och registrera den virtuella dator som skapats för att Azure Arc.

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

  2. Distributionen använder ARM-mallens parameterfil. Innan du påbörjar distributionen redigerar du filen azuredeploy.parameters.json som finns i den lokala klonade lagringsplatsmappen. En exempelparameterfil finns här.

  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>
    

    Anteckning

    Se till att använda samma Namn på Azure-resursgrupp som du använde i azuredeploy.parameters.json filen.

    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 Portal.

    En skärmbild av utdata från en ARM-mall.

    En skärmbild av resurser i resursgruppen.

Linux-inloggning och efterdistribution

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

    En skärmbild av en offentlig IP-adress för en virtuell Azure-dator.

  2. Vid den 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 är klar.

    En skärmbild av en typ av skriptutdata.

    En skärmbild av en annan typ av skriptutdata.

    En skärmbild av en tredje typ av skriptutdata.

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

    En skärmbild av en resursgrupp från en Azure Arc aktiverad server.

    En skärmbild av information från en Azure Arc aktiverad server.

Rensa

Om du vill ta bort hela distributionen tar du bort resursgruppen från Azure Portal.

En skärmbild av hur du tar bort resursgrupp