Delen via


Quickstart: Een virtuele-machineschaalset voor Linux maken met een ARM-sjabloon

Van toepassing op: ✔️ Uniforme schaalsets voor Linux-VM's ✔️

Opmerking

Het volgende artikel is bedoeld voor Uniform Virtual Machine Scale Sets. We raden u aan flexibele virtuele-machineschaalsets te gebruiken voor nieuwe workloads. Lees meer over deze nieuwe orkestratiemodus in ons Flexibele virtuele machines-schaalsets overzicht.

Met een Virtuele Machine Scale Set kunt u een set virtuele machines implementeren en beheren die automatisch kunnen schalen. U kunt het aantal virtuele machines in de schaalset handmatig schalen of regels definiëren om automatisch te schalen op basis van resourcegebruik, zoals CPU, geheugenvraag of netwerkverkeer. Een Azure Load Balancer distribueert vervolgens verkeer naar de VM-exemplaren in de schaalset. In deze quickstart maakt u een virtuele-machineschaalset en implementeert u een voorbeeldtoepassing met een Azure Resource Manager-sjabloon (ARM-sjabloon).

Een Azure Resource Manager-sjabloon is een JSON-bestand (JavaScript Object Notation) dat de infrastructuur en configuratie voor uw project definieert. De sjabloon maakt gebruik van declaratieve syntaxis. U beschrijft de beoogde implementatie zonder de reeks programmeeropdrachten te schrijven om de implementatie te maken.

Met ARM-sjablonen kunt u groepen gerelateerde resources implementeren. In één sjabloon kunt u de virtuele-machineschaalset maken, toepassingen installeren en regels voor automatisch schalen configureren. Met het gebruik van variabelen en parameters kan deze sjabloon opnieuw worden gebruikt om bestaande sjablonen bij te werken of om extra schaalsets te maken. U kunt sjablonen implementeren via de Azure-portal, Azure CLI of Azure PowerShell of via CI/CD-pijplijnen (Continuous Integration/Continuous Delivery).

Als uw omgeving voldoet aan de vereisten en u bekend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeren in Azure . De sjabloon wordt in Azure Portal geopend.

Knop voor het implementeren van de Resource Manager-sjabloon in Azure.

Vereiste voorwaarden

Als je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je begint.

De sjabloon controleren

De sjabloon die in deze quickstart wordt gebruikt, komt uit Azure-snelstartsjablonen.

Deze resources worden in de sjabloon gedefinieerd:

Een schaalset definiëren

Als u een schaal met een sjabloon wilt maken, definieert u de juiste resources. De kernonderdelen van het resourcetype Virtuele Machineschaalset zijn:

Vastgoed Beschrijving van eigenschap Voorbeeldwaarde van sjabloon
type Azure-resourcetype die gemaakt moet worden Microsoft.Compute/virtualMachineScaleSets
naam De naam van de schaalset myScaleSet
location De locatie voor het maken van de schaalset East US
sku.naam De VM-grootte voor elke schaalsetinstantie Standard_A1
sku.capaciteit Het aantal VM-exemplaren dat in eerste instantie moet worden gemaakt 2
upgradePolicy.mode Upgrademodus van VM-exemplaar wanneer er wijzigingen optreden Automatisch
imageReference Het platform of de aangepaste afbeeldingen die worden gebruikt voor de VM-instances Canonical Ubuntu Server 16.04-LTS
osProfile.computerNamePrefix Het naamvoorvoegsel voor elk VM-exemplaar myvmss
osProfile.adminUsername De gebruikersnaam voor elk VM-exemplaar azureuser
osProfile.adminPassword Het wachtwoord voor elk VM-exemplaar P@ssw0rd!

Als u een schaalsetsjabloon wilt aanpassen, kunt u de VM-grootte of de oorspronkelijke capaciteit wijzigen. Een andere optie is om een ander platform of een aangepaste image te gebruiken.

Een voorbeeldtoepassing toevoegen

Installeer een eenvoudige webtoepassing om uw schaalset te testen. Wanneer u een schaalset implementeert, kunnen VM-extensies configuratie- en automatiseringstaken na de implementatie bieden, zoals het installeren van een app. Scripts kunnen worden gedownload vanuit Azure Storage of GitHub, of worden verstrekt aan Azure Portal tijdens runtime van de extensie. Als u een extensie wilt toepassen op uw schaalset, voegt u de sectie extensionProfile toe aan het voorgaande resourcevoorbeeld. Het extensieprofiel definieert doorgaans de volgende eigenschappen:

  • Extensietype
  • Extensie-uitgever
  • Versie van de extensie
  • Locatie van configuratie- of installatiescripts
  • Opdrachten die moeten worden uitgevoerd op de VM-exemplaren

De sjabloon maakt gebruik van de aangepaste scriptextensie om Bottle, een Python-webframework en een eenvoudige HTTP-server te installeren.

Er worden twee scripts gedefinieerd in fileUris - installserver.sh en workserver.py. Deze bestanden worden gedownload van GitHub en vervolgens wordt commandToExecute uitgevoerd bash installserver.sh om de app te installeren en te configureren.

De sjabloon implementeren

U kunt de sjabloon implementeren door de volgende knop Implementeren in Azure te selecteren. Met deze knop opent u Azure Portal, wordt de volledige sjabloon geladen en wordt u gevraagd om enkele parameters, zoals een naam van een schaalset, het aantal exemplaren en beheerdersreferenties.

Knop voor het implementeren van de Resource Manager-sjabloon in Azure.

U kunt ook een Resource Manager-sjabloon implementeren met behulp van 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

Beantwoord de aanwijzingen om de naam van een schaalset, het aantal instanties en de beheerdersgegevens voor de VM-instanties op te geven. Het duurt enkele minuten voordat de schaalset en de ondersteunende resources zijn aangemaakt.

De implementatie valideren

Als u uw schaalset in werking wilt zien, raadpleegt u de voorbeeldwebtoepassing via een webbrowser. Haal als volgt het openbare IP-adres van de load balancer op met az network public-ip list :

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

Voer het openbare IP-adres van de load balancer in in een webbrowser in de indeling http://publicIpAddress:9000/do_work. De load balancer distribueert verkeer naar een van uw VM-exemplaren, zoals wordt weergegeven in het volgende voorbeeld:

Standaardwebpagina in NGINX

De hulpbronnen opschonen

Wanneer u deze niet meer nodig hebt, kunt u az group delete gebruiken om de resourcegroep, schaalset en alle gerelateerde resources als volgt te verwijderen. De parameter --no-wait retourneert het besturingselement naar de prompt zonder te wachten totdat de bewerking is voltooid. De --yes parameter 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 quickstart hebt u een Linux-schaalset gemaakt met een ARM-sjabloon en de aangepaste scriptextensie gebruikt om een eenvoudige Python-webserver op de VM-exemplaren te installeren. Voor meer informatie gaat u verder met de zelfstudie voor het maken en beheren van Virtuele-machineschaalsets van Azure.