Skapa en ny avbildning av en virtuell Windows-dator från en befintlig avbildning med hjälp av Azure VM Image Builder
Gäller för: ✔️ Virtuella Windows-datorer
I den här artikeln får du lära dig hur du uppdaterar en befintlig Windows-avbildningsversion i ett Azure Compute-galleri (tidigare delat bildgalleri) och publicerar den i galleriet som en ny avbildningsversion.
Om du vill konfigurera avbildningen använder du en JSON-exempelmall helloImageTemplateforSIGfromWinSIG.json.
Registrera leverantörerna
Om du vill använda VM Image Builder måste du registrera leverantörerna.
Kontrollera dina providerregistreringar. Kontrollera att var och en returnerar Registrerad.
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
Om de inte returnerar Registrerad registrerar du leverantörerna genom att köra följande kommandon:
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
Ange variabler och behörigheter
Om du redan har skapat ett Azure Compute-galleri med hjälp av Skapa en avbildning och distribuera den till ett Azure Compute-galleri har du redan skapat några av de variabler du behöver.
Kommentar
Vm Image Builder har endast stöd för att skapa anpassade avbildningar i samma resursgrupp som den källhanterade avbildningen finns i. I följande exempel uppdaterar du resursgruppens namn, ibsigRG, med namnet på resursgruppen som din källhanterade avbildning finns i.
Om du inte redan har skapat variablerna kör du följande kommandon:
# 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"
Skapa en variabel för ditt prenumerations-ID:
subscriptionID=$(az account show --query id --output tsv)
Hämta den avbildningsversion som du vill uppdatera:
sigDefImgVersionId=$(az sig image-version list \ -g $sigResourceGroup \ --gallery-name $sigName \ --gallery-image-definition $imageDefName \ --subscription $subscriptionID --query [].'id' -o tsv)
Skapa en användartilldelad identitet och ange behörigheter för resursgruppen
Du har konfigurerat användaridentiteten i ett tidigare exempel, så nu måste du hämta resurs-ID:t som läggs till i mallen.
#get identity used previously
imgBuilderId=$(az identity list -g $sigResourceGroup --query "[?contains(name, 'aibBuiUserId')].id" -o tsv)
Om du redan har ett Azure Compute-galleri men inte har konfigurerat det genom att följa ett tidigare exempel måste du tilldela behörigheter för VM Image Builder för att få åtkomst till resursgruppen så att den kan komma åt galleriet. Mer information finns i Skapa en avbildning och distribuera den till ett Azure Compute-galleri.
Ändra helloImage-exemplet
Du kan granska JSON-exemplet som du ska använda på helloImageTemplateforSIGfromSIG.json. Information om JSON-filen finns i Skapa en mall för avbildningsverktyget för virtuella Azure-datorer.
Ladda ned JSON-exemplet, som du ser i Skapa en användartilldelad identitet och ange behörigheter för resursgruppen.
Konfigurera JSON med dina variabler:
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
Skapa avbildningen
Skicka avbildningskonfigurationen till tjänsten Image Builder för den virtuella datorn:
az resource create \ --resource-group $sigResourceGroup \ --location $location \ --properties @helloImageTemplateforSIGfromWinSIG.json \ --is-full-object \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n imageTemplateforSIGfromWinSIG01
Starta avbildningsversionen:
az resource invoke-action \ --resource-group $sigResourceGroup \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n imageTemplateforSIGfromWinSIG01 \ --action Run
Vänta tills avbildningen har skapats och replikerats innan du går vidare till nästa steg.
Skapa den virtuella datorn
Skapa den virtuella datorn genom att göra följande:
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
Verifiera anpassningen
Skapa en fjärrskrivbordsanslutning till den virtuella datorn med det användarnamn och lösenord som du angav när du skapade den virtuella datorn. Öppna ett kommandotolkfönster på den virtuella datorn och kör sedan:
dir c:\
Nu bör du se två kataloger:
- buildActions: Skapades i den första avbildningsversionen.
- buildActions2: Skapades när du uppdaterade den första avbildningsversionen för att skapa den andra avbildningsversionen.
Nästa steg
Mer information om komponenterna i JSON-filen som du använde i den här artikeln finns i Skapa en azure VM Image Builder-mall.