Zelfstudie: Een aangepaste installatiekopieën maken en gebruiken voor virtuele-machineschaalsets met de Azure CLI

Wanneer u een schaalset maakt, geeft u een installatiekopie op die moet worden gebruikt wanneer de VM-exemplaren zijn geïmplementeerd. Om het aantal taken na de implementatie van VM-exemplaren te verminderen, kunt u een aangepaste VM-installatiekopie gebruiken. Deze aangepaste VM-installatiekopie bevat alle geïnstalleerde toepassingen of configuraties die vereist zijn. Alle VM-exemplaren die in de schaalset zijn gemaakt, gebruiken de aangepaste VM-installatiekopie en zijn gereed voor uw toepassingsverkeer. In deze zelfstudie leert u het volgende:

  • Een Azure Compute-galerie maken
  • Een gespecialiseerde installatiekopiedefinitie maken
  • De versie van een installatiekopie maken
  • Een schaalset maken op basis van een gespecialiseerde installatiekopie
  • Een galerie met installatiekopieën delen

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Vereisten

  • Voor dit artikel is versie 2.4.0 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

Overzicht

Een Azure Compute Gallery vereenvoudigt het delen van aangepaste installatiekopieën in uw organisatie. Aangepaste installatiekopieën zijn soortgelijk aan Marketplace-installatiekopieën, maar u kunt deze zelf maken. Aangepaste installatiekopieën kunnen worden gebruikt voor het opstarten van configuraties, zoals het vooraf laden van toepassingen, toepassingsconfiguraties en andere besturingssysteemconfiguraties.

Met de Azure Compute Gallery kunt u uw aangepaste VM-installatiekopieën delen met anderen. U kunt kiezen welke installatiekopieën u wilt delen, in welke regio’s u ze beschikbaar wilt maken en met wie u ze wilt delen.

Een bron-VM maken en configureren

Voordat u een virtuele machine kunt maken, moet u eerst een resourcegroep maken met az group create en daarna een virtuele machine maken met az vm create. Deze VM wordt vervolgens gebruikt als bron voor de installatiekopie. In het volgende voorbeeld wordt een virtuele machine gemaakt met de naam myVM in de resourcegroep met de naam myResourceGroup:

az group create --name myResourceGroup --location eastus

az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image <SKU image> \
  --admin-username azureuser \
  --generate-ssh-keys

Belangrijk

De id van uw virtuele machine wordt weergegeven in de uitvoer van de opdracht az vm create. Kopieer de waarde en bewaar deze op een veilige plek zodat u de waarde later in deze zelfstudie kunt gebruiken.

Een galerie met installatiekopieën is de primaire resource die wordt gebruikt voor het inschakelen van het delen van installatiekopieën.

De naam van de galerie kan bestaan uit hoofdletters en kleine letters, cijfers en punten. De naam van de galerie kan geen liggende streepjes bevatten. De naam van de galerie moet uniek zijn binnen uw abonnement.

Een galerie met installatiekopieën maken met az sig create. In het volgende voorbeeld wordt een resourcegroep gemaakt genaamd galerie met de naam myGalleryRG in US -oosten een galerie met de naam myGallery.

az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery

Een definitie voor de installatiekopie maken

Definities van installatiekopieën maken een logische groepering voor installatiekopieën. Die worden gebruikt voor het beheren van informatie over de installatiekopieversies die daarbinnen worden gemaakt.

Namen van installatiekopiedefinities kunnen bestaan uit hoofdletters, kleine letters, cijfers, streepjes en punten.

Controleer of uw installatiekopiedefinitie het juiste type heeft. Als u de VM hebt gegeneraliseerd (met behulp van Sysprep voor Windows of waagent-deprovision voor Linux), moet u een gegeneraliseerde installatiekopiedefinitie maken met behulp van --os-state generalized. Als u de VM wilt gebruiken zonder bestaande gebruikersaccounts te verwijderen, maakt u een gespecialiseerde installatiekopiedefinitie met behulp van --os-state specialized.

Zie Installatiekopiedefinities voor meer informatie over de waarden die u kunt specificeren voor een installatiekopiedefinitie.

Een installatiekopiedefinitie in de galerie maken met az sig image-definition create.

In dit voorbeeld heeft de definitie van de installatiekopie de naam myImageDefinition en is deze voor een gespecialiseerde installatiekopie van een Linux-besturingssysteem. Als u een definitie wilt maken voor installatiekopieën met een Windows-besturingssysteem, gebruikt u --os-type Windows.

az sig image-definition create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --publisher myPublisher \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized

Belangrijk

De id van uw installatiekopiedefinitie wordt weergegeven in de uitvoer van de opdracht. Kopieer de waarde en bewaar deze op een veilige plek zodat u de waarde later in deze zelfstudie kunt gebruiken.

De installatiekopieversie maken

Maak een installatiekopieversie van de virtuele machine met az image gallery create-image-version.

Toegestane tekens voor een installatiekopieversie zijn cijfers en punten. Cijfers moeten binnen het bereik van een 32-bits geheel getal zijn. Indeling: MajorVersion.MinorVersion.Patch.

In dit voorbeeld is de installatiekopieversie 1.0.0 en gaan we 1 replica maken in de regio VS - zuid-centraal en 1 replica in de regio US - oost 2. De replicatieregio’s moeten de regio omvatten waarin de bron-VM zich bevindt.

Vervang de waarde van --managed-image in dit voorbeeld door de id van uw virtuele machine uit de vorige stap.

az sig image-version create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --gallery-image-version 1.0.0 \
   --target-regions "southcentralus=1" "eastus=1" \
   --managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"

Notitie

U moet wachten tot de installatiekopieversie volledig is gebouwd en gerepliceerd voordat u dezelfde beheerde installatiekopie kunt gebruiken om een andere versie van de installatiekopie te maken.

U kunt uw installatiekopie ook opslaan in Premium Storage door een --storage-account-type premium_lrs toe te voegen, of in Zone-redundante opslag door --storage-account-type standard_zrs toe te voegen wanneer u de installatiekopieversie maakt.

Een schaalset maken op basis van een installatiekopie

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

Maak een schaalset op basis van een gespecialiseerde installatiekopie met behulp van az vmss create.

Maak de schaalset met behulp van az vmss create de parameter --specialized om aan te geven dat de installatiekopieën een gespecialiseerde installatiekopieën zijn.

Gebruik de id van de installatiekopiedefinitie voor --image om de schaalsetinstanties te maken op basis van de meest recente beschikbare versie van de installatiekopie. U kunt de schaalsetinstantie ook maken op basis van een specifieke versie door de id van de installatiekopieversie op te geven voor --image.

Maak een schaalset met de naam myScaleSet met de meest recente versie van de installatiekopie myImageDefinition die u eerder hebt gemaakt.

az group create --name myResourceGroup --location eastus
az vmss create \
   --resource-group myResourceGroup \
   --name myScaleSet \
   --orchestration-mode flexible \
   --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
   --specialized

Het duurt enkele minuten om alle schaalsetresources en VM's te maken en te configureren.

U kunt installatiekopieën delen met meerdere abonnementen met behulp van toegangsbeheer op basis van rollen (Azure RBAC). U kunt installatiekopieën delen op het niveau van de galerie, de installatiekopiedefinitie of de installatiekopieversie. Elke gebruiker die leesmachtigingen heeft voor een installatiekopieversie, ook in meerdere abonnementen, kan een virtuele machine implementeren op basis van de installatiekopieversie.

We raden aan om te delen met andere gebruikers op galerieniveau. Gebruik az sig show om de object-id van uw galerie op te halen.

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

Gebruik de object-id als een bereik, samen met een e-mailadres en az role assignment create om een gebruiker toegang te geven tot de gedeelde galerie met installatiekopieën. Vervang <email-address> en <gallery iD> door uw eigen gegevens.

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

Zie Azure-roltoewijzingen toevoegen of verwijderen met de Azure CLI voor meer informatie over het delen van resources met behulp van Azure RBAC.

Resources opschonen

Als u de schaalset en aanvullende resources wilt verwijderen, verwijdert u de resourcegroep en alle bijbehorende resources met az group delete. 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 --no-wait --yes

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u een aangepaste VM-installatiekopie maakt en gebruikt voor uw schaalsets met Azure CLI:

  • Een Azure Compute-galerie maken
  • Een gespecialiseerde installatiekopiedefinitie maken
  • De versie van een installatiekopie maken
  • Een schaalset maken op basis van een gespecialiseerde installatiekopie
  • Een galerie met installatiekopieën delen

Ga door naar de volgende zelfstudie voor informatie over het implementeren van toepassingen naar uw schaalset.