Quickstart: Een virtuele-machineschaalset maken met de Azure CLI
Van toepassing op: ✔️ Virtuele Linux-machines voor Windows-VM's ✔️ ✔️ Uniform-schaalsets
Notitie
Het volgende artikel is bedoeld voor Uniform Virtual Machine Scale Sets. We raden u aan flexibele virtuele-machineschaalsets te gebruiken voor nieuwe workloads. Meer informatie over deze nieuwe indelingsmodus vindt u in het overzicht van flexibele virtuele-machineschaalsets.
Met een virtuele-machineschaalset kunt u een set virtuele machines voor automatisch schalen implementeren en beheren. U kunt het aantal VM’s in de schaalset handmatig schalen of regels voor automatisch schalen definiëren op basis van resourcegebruik zoals CPU, vraag naar geheugen, of netwerkverkeer. Een Azure load balancer verdeelt het verkeer vervolgens naar de VM-exemplaren in de schaalset. In deze quickstart maakt u een virtuele-machineschaalset en implementeert u een voorbeeldtoepassing met de Azure CLI.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Voor dit artikel is versie 2.0.29 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Een schaalset maken
Belangrijk
Vanaf november 2023 worden VM-schaalsets die zijn gemaakt met PowerShell en Azure CLI standaard ingesteld op de flexibele indelingsmodus als er geen indelingsmodus is opgegeven. Voor meer informatie over deze wijziging en welke acties u moet ondernemen, gaat u naar Belangrijke wijziging voor VMSS PowerShell/CLI-klanten - Microsoft Community Hub
Voordat u een schaalset kunt maken, moet u eerst een resourcegroep maken met az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie eastus:
az group create --name myResourceGroup --location eastus
Maak nu een virtuele-machineschaalset met az vmss create. In het volgende voorbeeld wordt een schaalset met de naam myScaleSet gemaakt die automatisch wordt bijgewerkt als er wijzigingen zijn. Daarnaast worden er SSH-sleutels gegenereerd als deze niet bestaan in ~/.ssh/id_rsa. Deze SSH-sleutels worden gebruikt als u zich wilt aanmelden bij de VM-exemplaren. Als u een bestaande set SSH-sleutels wilt gebruiken, gebruikt u de parameter --ssh-key-value
en geeft u de locatie van uw sleutels op.
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image <SKU image> \
--upgrade-policy-mode automatic \
--admin-username azureuser \
--generate-ssh-keys
Het duurt enkele minuten om alle schaalsetresources en VM's te maken en te configureren.
Voorbeeldtoepassing implementeren
Als u de schaalset wilt testen, installeert u een eenvoudige webtoepassing. U kunt de aangepaste scriptextensie van Azure downloaden en een script uitvoeren waarmee een toepassing wordt geïnstalleerd in de VM-exemplaren. Deze uitbreiding is handig voor post-implementatieconfiguraties, software-installaties of andere configuratie-/beheertaken. Zie voor meer informatie het overzicht van de aangepaste scriptextensie.
Gebruik de aangepaste scriptextensie om een eenvoudige NGINX-webserver te installeren. Pas de aangepaste scriptextensie waarmee NGINX wordt geïnstalleerd als volgt toe met az vmss extension set:
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"}'
Verkeer toestaan naar de toepassing
Op het moment dat de schaalset wordt gemaakt, wordt er ook automatisch een Azure load balancer geïmplementeerd. De load balancer verdeelt het verkeer naar de VM-exemplaren in de schaalset. Als u wilt dat verkeer de voorbeeldwebtoepassing kan bereiken, maakt u een load balancer-regel met behulp van az network lb rule create. In het volgende voorbeeld wordt een regel met de naam myLoadBalancerRuleWeb gemaakt:
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
Uw schaalset testen
U kunt de schaalset in actie zien door in een webbrowser naar de voorbeeldwebtoepassing te gaan. Achterhaal het openbare IP-adres van de load balancer met az network public-ip show. In het volgende voorbeeld wordt het IP-adres voor myScaleSetLBPublicIP opgehaald, dat is gemaakt als onderdeel van de schaalset:
az network public-ip show \
--resource-group myResourceGroup \
--name myScaleSetLBPublicIP \
--query '[ipAddress]' \
--output tsv
Voer in een webbrowser het openbare IP-adres van de load balancer in. Via de load balancer wordt verkeer naar een van uw VM-instanties gedistribueerd, zoals wordt weergegeven in het volgende voorbeeld:
Resources opschonen
Gebruik az group delete als volgt om de resourcegroep, schaalset en alle gerelateerde resources te verwijderen wanneer u deze niet meer nodig hebt. De parameter --no-wait
retourneert het besturingselement naar de prompt zonder te wachten totdat de bewerking is voltooid. De parameter --yes
bevestigt dat u de resources wilt verwijderen, zonder een extra prompt om dit te doen.
az group delete --name myResourceGroup --yes --no-wait
Volgende stappen
In deze snelstartgids hebt u een standaardschaalset gemaakt en de aangepaste scriptextensie gebruikt om een standaard-NGINX-webserver te installeren in de VM-exemplaren. Voor meer informatie gaat u verder met de zelfstudie voor het maken en beheren van Virtuele-machineschaalsets van Azure.