Snabbstart: Skapa en Skalningsuppsättning för virtuella Linux-datorer med en ARM-mall

Gäller för: ✔️ Enhetliga skalningsuppsättningar för virtuella Linux-datorer ✔️

Kommentar

Följande artikel gäller enhetliga vm-skalningsuppsättningar. Vi rekommenderar att du använder flexibla vm-skalningsuppsättningar för nya arbetsbelastningar. Läs mer om det här nya orkestreringsläget i översikten över flexibla vm-skalningsuppsättningar.

Med en vm-skalningsuppsättning kan du distribuera och hantera en uppsättning virtuella datorer med automatisk skalning. Du kan skala antalet virtuella datorer i skalningsuppsättningen manuellt eller definiera regler för automatisk skalning baserat på resursanvändning, till exempel CPU, minneskrav eller nätverkstrafik. En Azure-lastbalanserare distribuerar sedan trafiken till de virtuella datorinstanserna i skalningsuppsättningen. I den här snabbstarten skapar du en VM-skalningsuppsättning och distribuerar ett exempelprogram med en Azure Resource Manager-mall (ARM-mall).

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet. Mallen använder deklarativ syntax. Du beskriver den avsedda distributionen utan att skriva sekvensen med programmeringskommandon för att skapa distributionen.

Med ARM-mallar kan du distribuera grupper med relaterade resurser. I en enda mall kan du skapa vm-skalningsuppsättningen, installera program och konfigurera regler för autoskalning. Du kan återanvända mallen och använda variabler och parametrar till att uppdatera befintliga, eller skapa ytterligare, skalningsuppsättningar. Du kan distribuera mallar via Azure-portalen, Azure CLI eller Azure PowerShell eller från pipelines för kontinuerlig integrering/kontinuerlig leverans (CI/CD).

Om din miljö uppfyller förhandskraven och du är van att använda ARM-mallar väljer du knappen Distribuera till Azure. Mallen öppnas på Azure-portalen.

Button to deploy the Resource Manager template to Azure.

Förutsättningar

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Granska mallen

Mallen som används i den här snabbstarten kommer från Azure-snabbstartsmallar.

Dessa resurser definieras i mallen:

Definiera en skalningsuppsättning

När du skapar en skalningsuppsättning med en mall definierar du lämpliga resurser. Kärndelarna i resurstypen Vm-skalningsuppsättning är:

Property Egenskapsbeskrivning Exempelmallvärde
type Azure-resurstypen som ska skapas Microsoft.Compute/virtualMachineScaleSets
name Namnet på skalningsuppsättningen myScaleSet
plats Platsen där skalningsuppsättningen skapas USA, östra
sku.name VM-storleken för varje skalningsuppsättningsinstans Standard_A1
sku.capacity Antal VM-instanser som skapas inledningsvis 2
upgradePolicy.mode Uppgraderingsläge för VM-instanser när ändringar sker Automatisk
imageReference Plattform eller anpassad avbildning som ska användas för VM-instanserna Canonical Ubuntu Server 16.04-LTS
osProfile.computerNamePrefix Namnprefix för varje VM-instans myvmss
osProfile.adminUsername Användarnamn för varje VM-instans azureuser
osProfile.adminPassword Lösenord för varje VM-instans P@ssw0rd!

Om du vill anpassa en mall för skalningsuppsättningar kan du ändra storleken på den virtuella datorn eller den ursprungliga kapaciteten. Ett annat alternativ är att använda en annan plattform eller en anpassad avbildning.

Lägg till ett exempelprogram

Testa din skalningsuppsättning genom att installera ett grundläggande webbprogram. När du distribuerar en skalningsuppsättning kan du använda VM-tillägg för att utföra konfigurations- och automatiseringsåtgärder efter distributionen, till exempel installera en app. Skript kan laddas ned från Azure Storage eller GitHub, eller tillhandahållas via Azure Portal vid tilläggskörning. Om du vill använda ett tillägg för skalningsuppsättningen lägger du till avsnittet extensionProfile i föregående resursexempel. Tilläggsprofilen definierar vanligtvis följande egenskaper:

  • Tilläggstyp
  • Tilläggsutgivare
  • Tilläggsversion
  • Plats för konfiguration eller installation av skript
  • Kommandon för att köra VM-instanserna

Mallen använder tillägget för anpassat skript för att installera Bottle, ett Python-webbramverk och en enkel HTTP-server.

Två skript definieras i fileUris - installserver.sh och workserver.py. Dessa filer laddas ned från GitHub och sedan körs bash installserver.sh kommandotToExecute för att installera och konfigurera appen.

Distribuera mallen

Du kan distribuera mallen genom att välja följande knappen Distribuera till Azure . Knappen öppnar Azure Portal, läser in hela mallen och frågar efter ett par parametrar, till exempel namn på skalningsuppsättningen, antal instanser och administratörsautentiseringsuppgifter.

Button to deploy the Resource Manager template to Azure.

Du kan också distribuera en Resource Manager-mall med hjälp av Azure CLI:

# Create a resource group
az group create --name myResourceGroup --location EastUS

# Deploy template into resource group
az deployment group create \
    --resource-group myResourceGroup \
    --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/application-workloads/python/vmss-bottle-autoscale/azuredeploy.json

Svara på frågorna och ange namn på skalningsuppsättningen, antal instanser och administratörsautentiseringsuppgifter för VM-instanserna. Det tar några minuter att skapa skalningsuppsättningen och de resurser som behövs.

Verifiera distributionen

Om du vill se din skalningsuppsättning i praktiken så gå till exempelwebbprogrammet i en webbläsare. Hämta den offentliga IP-adressen för lastbalanseraren med az network public-ip list på följande sätt:

az network public-ip list \
    --resource-group myResourceGroup \
    --query [*].ipAddress -o tsv

Ange den offentliga IP-adressen för lastbalanseraren i en webbläsare i formatet http://publicIpAddress:9000/do_work. Lastbalanseraren distribuerar trafik till en av dina VM-instanser enligt följande exempel:

Default web page in NGINX

Rensa resurser

När resurserna inte behövs längre kan du använda az group delete för att ta bort resursgruppen, skalningsuppsättningen och alla relaterade resurser. Parametern --no-wait återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs. Parametern --yes bekräftar att du vill ta bort resurserna utan att tillfrågas ytterligare en gång.

az group delete --name myResourceGroup --yes --no-wait

Nästa steg

I den här snabbstarten skapade du en Linux-skalningsuppsättning med en ARM-mall och använde tillägget för anpassat skript för att installera en grundläggande Python-webbserver på de virtuella datorinstanserna. Mer information finns i självstudien om hur du skapar och hanterar Skalningsuppsättningar för virtuella Azure-datorer.