Delen via


Een nieuwe Windows-VM-installatiekopieën maken op basis van een bestaande installatiekopieën met behulp van Azure VM Image Builder

Van toepassing op: ✔️ Windows-VM's

In dit artikel leert u hoe u een bestaande versie van een Windows-installatiekopieën bijwerkt in een Azure Compute Gallery (voorheen Shared Image Gallery ) en deze als een nieuwe versie van de installatiekopieën naar de galerie publiceert.

Als u de installatiekopie wilt configureren, gebruikt u een voorbeeld-JSON-sjabloon, helloImageTemplateforSIGfromWinSIG.json.

De providers registreren

Als u VM Image Builder wilt gebruiken, moet u de providers registreren.

  1. Controleer uw providerregistraties. Zorg ervoor dat elke instantie Geregistreerd retourneert.

    az provider show -n Microsoft.VirtualMachineImages | grep registrationState
    az provider show -n Microsoft.KeyVault | grep registrationState
    az provider show -n Microsoft.Compute | grep registrationState
    az provider show -n Microsoft.Storage | grep registrationState
    az provider show -n Microsoft.Network | grep registrationState
    az provider show -n Microsoft.ContainerInstance | grep registrationState
    
  2. Als ze niet worden geretourneerd Geregistreerd, registreert u de providers door de volgende opdrachten uit te voeren:

    az provider register -n Microsoft.VirtualMachineImages
    az provider register -n Microsoft.Compute
    az provider register -n Microsoft.KeyVault
    az provider register -n Microsoft.Storage
    az provider register -n Microsoft.Network
    az provider register -n Microsoft.ContainerInstance
    

Variabelen en machtigingen instellen

Als u al een Azure Compute Gallery hebt gemaakt met behulp van Een installatiekopieën maken en distribueren naar een Azure Compute Gallery, hebt u al een aantal variabelen gemaakt die u nodig hebt.

Notitie

VM Image Builder ondersteunt het maken van aangepaste installatiekopieën alleen in dezelfde resourcegroep waarin de door de bron beheerde installatiekopieën zich bevinden. Werk in het volgende voorbeeld de naam van de resourcegroep, ibsigRG, bij met de naam van de resourcegroep waarin de door de bron beheerde installatiekopieën zich bevinden.

  1. Als u de variabelen nog niet hebt gemaakt, voert u de volgende opdrachten uit:

    # Resource group name - we are using ibsigRG in this example
    sigResourceGroup=myIBWinRG
    # Datacenter location - we are using West US 2 in this example
    location=westus
    # Additional region to replicate the image to - we are using East US in this example
    additionalregion=eastus
    # name of the Azure Compute Gallery - in this example we are using myGallery
    sigName=my22stSIG
    # name of the image definition to be created - in this example we are using myImageDef
    imageDefName=winSvrimages
    # image distribution metadata reference name
    runOutputName=w2019SigRo
    # User name and password for the VM
    username="user name for the VM"
    vmpassword="password for the VM"
    
  2. Maak een variabele voor uw abonnements-id:

    subscriptionID=$(az account show --query id --output tsv)
    
  3. Haal de installatiekopieënversie op die u wilt bijwerken:

    sigDefImgVersionId=$(az sig image-version list \
    -g $sigResourceGroup \
    --gallery-name $sigName \
    --gallery-image-definition $imageDefName \
    --subscription $subscriptionID --query [].'id' -o tsv)
    

Een door de gebruiker toegewezen identiteit maken en machtigingen instellen voor de resourcegroep

U hebt de gebruikersidentiteit in een eerder voorbeeld ingesteld, dus nu moet u de resource-id ophalen, die wordt toegevoegd aan de sjabloon.

#get identity used previously
imgBuilderId=$(az identity list -g $sigResourceGroup --query "[?contains(name, 'aibBuiUserId')].id" -o tsv)

Als u al een Azure Compute Gallery hebt, maar deze niet hebt ingesteld door een eerder voorbeeld te volgen, moet u machtigingen toewijzen voor VM Image Builder om toegang te krijgen tot de resourcegroep, zodat deze toegang heeft tot de galerie. Zie Een installatiekopieën maken en distribueren naar een Azure Compute Gallery voor meer informatie.

Het helloImage-voorbeeld wijzigen

U kunt het JSON-voorbeeld bekijken dat u gaat gebruiken op helloImageTemplateforSIGfromSIG.json. Zie Een Azure VM Image Builder-sjabloon maken voor meer informatie over het JSON-bestand.

  1. Download het JSON-voorbeeld, zoals wordt weergegeven in Een door de gebruiker toegewezen identiteit maken en machtigingen instellen voor de resourcegroep.

  2. Configureer de JSON met uw variabelen:

    curl https://raw.githubusercontent.com/azure/azvmimagebuilder/master/quickquickstarts/8_Creating_a_Custom_Win_Shared_Image_Gallery_Image_from_SIG/helloImageTemplateforSIGfromWinSIG.json -o helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<subscriptionID>/$subscriptionID/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<rgName>/$sigResourceGroup/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<imageDefName>/$imageDefName/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<sharedImageGalName>/$sigName/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s%<sigDefImgVersionId>%$sigDefImgVersionId%g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<region1>/$location/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<region2>/$additionalregion/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s/<runOutputName>/$runOutputName/g" helloImageTemplateforSIGfromWinSIG.json
    sed -i -e "s%<imgBuilderId>%$imgBuilderId%g" helloImageTemplateforSIGfromWinSIG.json
    

De installatiekopie maken

  1. Verzend de installatiekopieënconfiguratie naar de VM Image Builder-service:

    az resource create \
        --resource-group $sigResourceGroup \
        --location $location \
        --properties @helloImageTemplateforSIGfromWinSIG.json \
        --is-full-object \
        --resource-type Microsoft.VirtualMachineImages/imageTemplates \
        -n imageTemplateforSIGfromWinSIG01
    
  2. Start de build van de installatiekopieën:

    az resource invoke-action \
        --resource-group $sigResourceGroup \
        --resource-type  Microsoft.VirtualMachineImages/imageTemplates \
        -n imageTemplateforSIGfromWinSIG01 \
        --action Run 
    

Wacht totdat de installatiekopie is gemaakt en gerepliceerd voordat u verdergaat met de volgende stap.

De VM maken

Maak de VIRTUELE machine als volgt:

az vm create \
--resource-group $sigResourceGroup \
--name aibImgWinVm002 \
--admin-username $username \
--admin-password $vmpassword \
--image "/subscriptions/$subscriptionID/resourceGroups/$sigResourceGroup/providers/Microsoft.Compute/galleries/$sigName/images/$imageDefName/versions/latest" \
--location $location

De aanpassing controleren

Maak een verbinding met extern bureaublad met de virtuele machine met behulp van de gebruikersnaam en het wachtwoord die u hebt ingesteld bij het maken van de virtuele machine. Open in de VIRTUELE machine een opdrachtpromptvenster en voer het volgende uit:

dir c:\

U ziet nu twee mappen:

  • buildActions: Gemaakt in de eerste versie van de installatiekopieën.
  • buildActions2: Gemaakt toen u de eerste versie van de installatiekopieën hebt bijgewerkt om de tweede versie van de installatiekopieën te maken.

Volgende stappen

Zie Een Azure VM Image Builder-sjabloon maken voor meer informatie over de onderdelen van het JSON-bestand dat u in dit artikel hebt gebruikt.