Snabbstart: Skapa en VM-skalningsuppsättning med Azure CLI

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

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 Azure CLI.

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

Förutsättningar

  • Den här artikeln kräver version 2.0.29 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Skapa en skalningsuppsättning

Viktigt!

Från och med november 2023 kommer VM-skalningsuppsättningar som skapats med PowerShell och Azure CLI som standard att vara flexibla orkestreringsläge om inget orkestreringsläge har angetts. Mer information om den här ändringen och vilka åtgärder du bör vidta finns i Icke-bakåtkompatibla ändringar för VMSS PowerShell/CLI-kunder – Microsoft Community Hub

Innan du kan skapa en skalningsuppsättning skapar du en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus:

az group create --name myResourceGroup --location eastus

Skapa nu en VM-skalningsuppsättning med az vmss create. I följande exempel skapas en skalningsuppsättning med namnet myScaleSet som är inställd på att uppdateras automatiskt när ändringar tillämpas och genererar SSH-nycklar om de inte finns i ~/.ssh/id_rsa. Dessa SSH-nycklar används om du behöver logga in på VM-instanser. Om du vill använda en befintlig uppsättning SSH-nycklar, använd istället --ssh-key-value-parametern och ange platsen för dina nycklar.

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image <SKU image> \
  --upgrade-policy-mode automatic \
  --admin-username azureuser \
  --generate-ssh-keys

Det tar några minuter att skapa och konfigurera alla skalningsuppsättningsresurser och virtuella datorer.

Distribuera exempelprogram

Testa din skalningsuppsättning genom att installera ett grundläggande webbprogram. Tillägg för anpassat skript i Azure används för att hämta och köra ett skript som installerar ett program på VM-instanser. Det här tillägget är användbart för konfiguration efter distribution, programvaruinstallation eller andra konfigurerings-/hanteringsuppgifter. Mer information finns i översikten över tillägget för anpassat skript.

Använd tillägget för anpassat skript för att installera en grundläggande NGINX-webbserver. Använd tillägget för anpassat skript som installerar NGINX med az vmss-tilläggsuppsättningen på följande sätt:

az vmss extension set \
  --publisher Microsoft.Azure.Extensions \
  --version 2.0 \
  --name CustomScript \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --settings '{"fileUris":["https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate_nginx.sh"],"commandToExecute":"./automate_nginx.sh"}'

Tillåta trafik till program

En Azure-lastbalanserare distribuerades automatiskt när skalningsuppsättning skapades. Lastbalanserare distribuerar trafiken till VM-instanserna i skalningsuppsättningen. Använd az network lb rule create för att skapa en regel för lastbalanseraren för att tillåta att trafik når exempelwebbprogrammet. I följande exempel skapas en regel med namnet myLoadBalancerRuleWeb:

az network lb rule create \
  --resource-group myResourceGroup \
  --name myLoadBalancerRuleWeb \
  --lb-name myScaleSetLB \
  --backend-pool-name myScaleSetLBBEPool \
  --backend-port 80 \
  --frontend-ip-name loadBalancerFrontEnd \
  --frontend-port 80 \
  --protocol tcp

Testa din skalningsuppsättning

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 show. I följande exempel hämtas IP-adressen för myScaleSetLBPublicIP som skapas som en del av skalningsuppsättningen:

az network public-ip show \
  --resource-group myResourceGroup \
  --name myScaleSetLBPublicIP \
  --query '[ipAddress]' \
  --output tsv

Skriv den offentliga IP-adressen för lastbalanseraren i en webbläsare. 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 grundläggande skalningsuppsättning och använde tillägget för anpassat skript för att installera en grundläggande NGINX-webbserver på VM-instanserna. Mer information finns i självstudien om hur du skapar och hanterar Skalningsuppsättningar för virtuella Azure-datorer.