Share via


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

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

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 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. Voor de sjabloon is declaratieve syntaxis vereist. 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 behulp van variabelen en parameters kan deze sjabloon opnieuw worden gebruikt voor het bijwerken van bestaande schaalsets, 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 benkend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeren naar Azure. De sjabloon wordt in Azure Portal geopend.

Button to deploy the Resource Manager template to Azure.

Vereisten

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u 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 wilt maken met behulp van een sjabloon, definieert u de juiste resources. De kernonderdelen van het resourcetype Virtuele-machineschaalset zijn:

Eigenschappen Beschrijving van eigenschap Voorbeeldwaarde van sjabloon
type Azure-resourcetype dat moet worden gemaakt Microsoft.Compute/virtualMachineScaleSets
naam De naam van de schaalset myScaleSet
locatie De locatie voor het maken van de schaalset VS - oost
sku.name De VM-grootte voor elke instantie van de schaalset Standard_A1
sku.capacity Het aantal VM-instanties dat in het begin moet worden gemaakt 2
upgradePolicy.mode Upgrademodus voor VM-instantie wanneer er wijzigingen optreden Automatisch
imageReference Het platform of de aangepaste afbeelding die moet worden gebruikt voor de VM-instanties Canonical Ubuntu-server 16.04-LTS
osProfile.computerNamePrefix Het naamvoorvoegsel voor elke VM-instantie myvmss
osProfile.adminUsername De gebruikersnaam voor elke VM-instantie azureuser
osProfile.adminPassword Het wachtwoord voor elke VM-instantie P@ssw0rd!

Als u een schaalsetsjabloon wilt aanpassen, kunt u de VM-grootte of initiële capaciteit wijzigen. Een andere mogelijkheid is om een ander platform of een aangepaste afbeelding te gebruiken.

Voorbeeldtoepassing toevoegen

Als u de schaalset wilt testen, installeert u een eenvoudige webtoepassing. Wanneer u een schaalset implementeert, kunnen VM-extensies worden gebruikt voor configuratie- en automatiseringstaken na de implementatie, zoals het installeren van een app. Scripts kunnen worden gedownload uit Azure Storage of GitHub, of worden geleverd in Azure Portal tijdens de uitvoering van extensies. Als u een extensie wilt toepassen op uw schaalset, voegt u de sectie extensionProfile toe aan het voorgaande resourcevoorbeeld. Met het extensieprofiel worden doorgaans de volgende eigenschappen gedefinieerd:

  • Type extensie
  • Uitgever van de extensie
  • Versie van de extensie
  • Locatie van de configuratie of installatiescripts
  • Opdrachten om uit te voeren op de VM-instanties

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

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

De sjabloon implementeren

U kunt de sjabloon implementeren door de volgende knop Implementeren op Azure te selecteren. Met deze knop wordt Azure Portal geopend, de volledige sjabloon geladen, en wordt u gevraagd om een aantal parameters op te geven, zoals een naam voor de schaalset, het aantal instanties en de beheerdersreferenties.

Button to deploy the Resource Manager template to Azure.

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

Geef de waarden op voor de naam van de schaalset, het aantal instanties en de beheerdersreferenties voor de VM-instanties, wanneer u hierom wordt gevraagd. Het duurt enkele minuten voordat de schaalset en ondersteunende resources zijn gemaakt.

De implementatie valideren

U kunt de schaalset in actie zien door in een webbrowser naar de voorbeeldwebtoepassing te gaan. Vraag 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 een webbrowser in. Gebruik hiervoor de notatie http://publicIpAddress:9000/do_work. Via de load balancer wordt verkeer naar een van uw VM-instanties gedistribueerd, zoals wordt weergegeven in het volgende voorbeeld:

Default web page in NGINX

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 Linux-schaalset gemaakt met behulp van een ARM-sjabloon en de aangepaste scriptextensie gebruikt om een standaard Python-webserver te installeren op de VM-exemplaren. Voor meer informatie gaat u verder met de zelfstudie voor het maken en beheren van Virtuele-machineschaalsets van Azure.