Uw toepassing implementeren op Virtual Machine Scale Sets

Notitie

Dit document bevat informatie over Virtual Machine Scale Sets die worden uitgevoerd in de modus Uniform Orchestration. U wordt aangeraden Flexibele indeling te gebruiken voor nieuwe workloads. Zie Orchesration modes for Virtual Machine Scale Sets in Azure (Orchesration-modi voor Virtual Machine Scale Sets 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 beschreven 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 in een schaalset beheert.

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 dit 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 sprake van beheeroverhead met deze configuratiescripts en -taken.

Als u het configuratiebeheer en de tijd voor het inrichten van een VM wilt verminderen, kunt u een aangepaste VM-installatiekopieën maken die gereed is om uw toepassing uit te voeren zodra een exemplaar in de schaalset is ingericht. 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. DSC-configuraties definiëren wat er op een computer moet worden geïnstalleerd en hoe de host moet worden geconfigureerd. 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:

De DSC-extensie wordt toegepast op de VM-exemplaren myScaleSet in de resourcegroep met de naam myResourceGroup. Voer uw eigen namen als volgt 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. Deze cmdlet past de bijgewerkte schaalsetconfiguratie toe op de VM-exemplaren en installeert uw toepassing.

Een app installeren op een Linux-VM 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 eencloud-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 naamcloud-init.txt. Voer uw eigen namen als volgt in:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image UbuntuLTS \
  --upgrade-policy-mode automatic \
  --custom-data cloud-init.txt \
  --admin-username azureuser \
  --generate-ssh-keys

Toepassingen installeren met updates van het besturingssysteem

Wanneer er nieuwe versies van het besturingssysteem beschikbaar zijn, kunt u een nieuwe aangepaste installatiekopieën gebruiken of bouwen en upgrades van het besturingssysteem implementeren in een schaalset. Elk VM-exemplaar wordt bijgewerkt naar de meest recente installatiekopieën die u opgeeft. U kunt een aangepaste installatiekopieën met de toepassing vooraf geïnstalleerd, de aangepaste scriptextensie of PowerShell DSC gebruiken om uw toepassing automatisch beschikbaar te maken wanneer u de upgrade uitvoert. Mogelijk moet u het onderhoud van de toepassing plannen terwijl u dit proces uitvoert om ervoor te zorgen dat er geen compatibiliteitsproblemen met versies zijn.

Als u een aangepaste VM-installatiekopieën gebruikt waarop de toepassing vooraf is geïnstalleerd, kunt u de toepassingsupdates integreren met een implementatiepijplijn om de nieuwe installatiekopieën te bouwen en upgrades van het besturingssysteem in de schaalset te implementeren. Met deze methode kan de pijplijn de nieuwste toepassingsbuilds ophalen, een VM-installatiekopieën maken en valideren, en vervolgens de VM-exemplaren in de schaalset upgraden. 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 bouwt en implementeert in uw schaalsets, kunt u het overzicht van het ontwerp van schaalsets bekijken. Zie PowerShell gebruiken om uw schaalset te beheren voor meer informatie over het beheren van uw schaalset.