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.
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:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/publicIPAddresses
- Microsoft.Network/loadBalancers
- Microsoft.Compute/virtualMachineScaleSets
- Microsoft.Insights/autoscaleSettings
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.
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:
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.