Dela via


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 ✔️

Anmärkning

Följande artikel gäller skalningsuppsättningar för uniforma virtuella maskiner. 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 virtuell maskinskalningsuppsättning kan du distribuera och hantera en uppsättning automatiskt skalande virtuella datorer. Du kan skala antalet virtuella datorer i skalningsuppsättningen manuellt eller definiera regler för automatisk skalning baserat på resursanvändning som CPU, minnesbehov eller nätverkstrafik. En Azure-lastbalanserare distribuerar sedan trafik 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. Med hjälp av variabler och parametrar kan den här mallen återanvändas för 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 i Azure-portalen.

Knapp för att distribuera Resource Manager-mallen till Azure.

Förutsättningar

Om du inte har en Azure-prenumeration, skapa ett gratis 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 skalningsgrupp

Om du vill skapa en skalning med en mall definierar du lämpliga resurser. Kärndelarna i resurstypen VM-skalningsuppsättning är:

Fastighet Egenskapsbeskrivning Exempelmallvärde
type Azure-resurstyp som ska skapas Microsoft.Compute/virtualMachineScaleSets
name Namnet på skalsatsen myScaleSet
location Platsen för att skapa skalningsuppsättningen East US
sku.namn Vm-storleken för varje skalningsuppsättningsinstans Standard_A1
sku.kapacitet Antalet vm-instanser som ska skapas från början 2
upgradePolicy.mode Uppgraderingsläge för virtuell datorinstans när ändringar sker Automatiskt
imageReference Plattformen eller den anpassade avbildningen som ska användas för de virtuella datorinstanserna Canonical Ubuntu Server 16.04-LTS
osProfile.computerNamePrefix Namnprefixet för varje VM-instans myvmss
osProfile.adminUsername Användarnamnet för varje VM-instans azureuser
osProfile.administratörslösenord Lösenordet 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ägga till ett exempelprogram

Om du vill testa skalningsuppsättningen installerar du ett grundläggande webbprogram. När du distribuerar en skalningsuppsättning kan VM-tillägg tillhandahålla konfigurations- och automatiseringsuppgifter efter distributionen, till exempel att installera en app. Skript kan laddas ned från Azure Storage eller GitHub eller tillhandahållas till Azure-portalen vid tilläggskörning. Om du vill tillämpa ett tillägg på 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 konfigurations- eller installationsskript
  • Kommandon som ska köras på de virtuella datorinstanserna

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 för att installera och konfigurera appen.

Använd mallen

Du kan distribuera mallen genom att välja följande knappen Distribuera till Azure . Den här knappen öppnar Azure-portalen, läser in den fullständiga mallen och frågar efter några parametrar, till exempel ett skalningsuppsättningsnamn, antal instanser och administratörsautentiseringsuppgifter.

Knapp för att distribuera Resource Manager-mallen till 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å uppmaningarna om att ange ett skalningsuppsättningsnamn, instansantal och administratörsautentiseringsuppgifter för de virtuella datorinstanserna. Det tar några minuter innan skalningsuppsättningen och stödresurserna skapas.

Verifiera utplaceringen

Om du vill se hur skalningsuppsättningen fungerar öppnar du exempelwebbprogrammet i en webbläsare. Hämta lastbalanserarens offentliga IP-adress med az network public-ip list enligt följande:

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

Ange lastbalanserarens offentliga IP-adress i en webbläsare i formatet http://publicIpAddress:9000/do_work. Lastbalanseraren distribuerar trafik till en av dina VM-instanser, som du ser i följande exempel:

Standardwebbsida i 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 handledningen om hur du skapar och hanterar Azure Virtual Machine Scale Sets.