Uw toepassing implementeren op virtuele-machineschaalsets
Notitie
Dit document bevat informatie over virtuele-machineschaalsets die worden uitgevoerd in de uniformindelingsmodus. We raden u aan Flexibele indeling te gebruiken voor nieuwe workloads. Zie Indelingsmodi voor virtuele-machineschaalsets in Azure voor meer informatie.
Als u toepassingen wilt uitvoeren op de exemplaren van een virtuele machine (VM) in een schaalset, moet u eerst de toepassingsonderdelen en de vereiste bestanden installeren. In dit artikel worden manieren geïntroduceerd om een aangepaste VM-installatiekopieën te maken voor exemplaren in een schaalset of om automatisch installatiescripts uit te voeren op bestaande VM-exemplaren. U leert ook hoe u toepassings- of besturingssysteemupdates beheert in een schaalset.
Een aangepaste VM-installatiekopieën maken
Wanneer u een van de Azure-platforminstallatiekopieën gebruikt om de exemplaren in uw schaalset te maken, wordt er geen extra software geïnstalleerd of geconfigureerd. U kunt de installatie van deze onderdelen automatiseren, maar dat voegt toe aan de tijd die nodig is om VM-exemplaren in te richten voor uw schaalsets. Als u veel configuratiewijzigingen toepast op de VM-exemplaren, is er beheeroverhead met deze configuratiescripts en -taken.
Als u het configuratiebeheer en de tijd voor het inrichten van een virtuele machine wilt verminderen, kunt u een aangepaste VM-installatiekopieën maken die klaar zijn om uw toepassing uit te voeren zodra een exemplaar is ingericht in de schaalset. Zie de volgende zelfstudies voor meer informatie over het maken en gebruiken van een aangepaste VM-installatiekopieën met een schaalset:
Een app installeren met de aangepaste scriptextensie
Met de aangepaste scriptextensie kunnen scripts worden gedownload en uitgevoerd op virtuele machines in Azure. Deze uitbreiding is handig voor post-implementatieconfiguraties, software-installaties of andere configuratie-/beheertaken. Scripts kunnen worden gedownload uit Azure Storage of GitHub, of worden geleverd in Azure Portal tijdens de uitvoering van extensies. Zie de volgende zelfstudies voor meer informatie over het installeren van een app met een aangepaste scriptextensie:
Een app installeren op een Windows-VM met PowerShell DSC
PowerShell Desired State Configuration (DSC) is een beheerplatform voor het definiëren van de configuratie van doelmachines. MET DSC-configuraties wordt gedefinieerd wat u op een computer moet installeren en hoe u de host configureert. Een LCM-engine (Local Configuration Manager) wordt uitgevoerd op elk doelknooppunt dat aangevraagde acties verwerkt op basis van gepushte configuraties.
Met de PowerShell DSC-extensie kunt u VM-exemplaren in een schaalset aanpassen met PowerShell. Het volgende voorbeeld:
- Geeft de VM-exemplaren de opdracht om een DSC-pakket te downloaden van GitHub - https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip
- Hiermee stelt u de extensie in om een installatiescript uit te voeren -
configure-http.ps1
- Haalt informatie over een schaalset op met Get-AzVmss
- De extensie toepassen op de VM-exemplaren met Update-AzVmss
De DSC-extensie wordt toegepast op de myScaleSet VM-exemplaren in de resourcegroep met de naam myResourceGroup. Voer als volgt uw eigen namen in:
# Define the script for your Desired Configuration to download and run
$dscConfig = @{
"wmfVersion" = "latest";
"configuration" = @{
"url" = "https://github.com/Azure-Samples/compute-automation-configurations/raw/master/dsc.zip";
"script" = "configure-http.ps1";
"function" = "WebsiteTest";
};
}
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Add the Desired State Configuration extension to install IIS and configure basic website
$vmss = Add-AzVmssExtension `
-VirtualMachineScaleSet $vmss `
-Publisher Microsoft.Powershell `
-Type DSC `
-TypeHandlerVersion 2.24 `
-Name "DSC" `
-Setting $dscConfig
# Update the scale set and apply the Desired State Configuration extension to the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Als het upgradebeleid voor uw schaalset handmatig is, werkt u uw VM-exemplaren bij met Update-AzVmssInstance. Met deze cmdlet wordt de bijgewerkte schaalsetconfiguratie toegepast op de VM-exemplaren en wordt uw toepassing geïnstalleerd.
Een app installeren op een Virtuele Linux-machine met cloud-init
Cloud-init is een veelgebruikte benadering voor het aanpassen van een Linux-VM als deze voor de eerste keer wordt opgestart. U kunt cloud-init gebruiken voor het installeren van pakketten en schrijven van bestanden, of om gebruikers en beveiliging te configureren. Als de initialisatie van de cloud-init wordt uitgevoerd tijdens het opstartproces, zijn er geen extra stappen of agents vereist om uw configuratie toe te passen.
Cloud-init werkt ook in distributies. U gebruikt bijvoorbeeld niet apt-get install of yum install om een pakket te installeren. In plaats daarvan kunt u een lijst definiëren met te installeren pakketten. Cloud-init maakt automatisch gebruik van het hulpprogramma voor systeemeigen pakketbeheer voor de distro die u selecteert.
Zie Cloud-init gebruiken om Azure-VM's aan te passen voor meer informatie, waaronder een voorbeeld van een cloud-init.txt-bestand.
Als u een schaalset wilt maken en een cloud-init-bestand wilt gebruiken, voegt u de --custom-data
parameter toe aan de opdracht az vmss create en geeft u de naam op van een cloud-init-bestand. In het volgende voorbeeld wordt een schaalset met de naam myScaleSet gemaakt in myResourceGroup en worden VM-exemplaren geconfigureerd met een bestand met de naam cloud-init.txt. Voer als volgt uw eigen namen in:
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
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--image Ubuntu2204 \
-–orchestration-mode uniform \
--upgrade-policy-mode automatic \
--custom-data cloud-init.txt \
--admin-username azureuser \
--generate-ssh-keys
Toepassingen installeren met besturingssysteemupdates
Wanneer er nieuwe besturingssysteemreleases beschikbaar zijn, kunt u een nieuwe aangepaste installatiekopieën gebruiken of bouwen en besturingssysteemupgrades implementeren in een schaalset. Elk VM-exemplaar wordt bijgewerkt naar de meest recente installatiekopieën die u opgeeft. U kunt een aangepaste installatiekopieën gebruiken met de toepassing die vooraf is geïnstalleerd, de aangepaste scriptextensie of PowerShell DSC, zodat uw toepassing automatisch beschikbaar is wanneer u de upgrade uitvoert. Mogelijk moet u het onderhoud van toepassingen plannen terwijl u dit proces uitvoert om ervoor te zorgen dat er geen compatibiliteitsproblemen zijn met de versie.
Als u een aangepaste VM-installatiekopieën gebruikt met de toepassing die vooraf is geïnstalleerd, kunt u de toepassingsupdates integreren met een implementatiepijplijn om de nieuwe installatiekopieën te bouwen en besturingssysteemupgrades in de schaalset te implementeren. Met deze methode kan de pijplijn de nieuwste builds van toepassingen ophalen, een VM-installatiekopieën maken en valideren en vervolgens de VM-exemplaren in de schaalset bijwerken. Als u een implementatiepijplijn wilt uitvoeren waarmee toepassingsupdates worden gebouwd en geïmplementeerd in aangepaste VM-installatiekopieën, kunt u een Packer-installatiekopieën maken en implementeren met Azure DevOps Services of een ander platform gebruiken, zoals Spinnaker of Jenkins.
Volgende stappen
Wanneer u toepassingen in uw schaalsets bouwt en implementeert, kunt u het ontwerpoverzicht van de schaalset bekijken. Zie PowerShell gebruiken om uw schaalset te beheren voor meer informatie over het beheren van uw schaalset.