Vytvoření nové image virtuálního počítače s Windows z existující image pomocí Azure VM Image Builderu
Platí pro: ✔️ Virtuální počítače s Windows
V tomto článku se dozvíte, jak aktualizovat existující verzi image Windows v galerii služby Azure Compute (dříve Sdílená galerie imagí) a publikovat ji v galerii jako novou verzi image.
Ke konfiguraci obrázku použijete ukázkovou šablonu JSON, helloImageTemplateforSIGfromWinSIG.json.
Registrace poskytovatelů
Pokud chcete použít Nástroj Image Builder virtuálního počítače, musíte poskytovatele zaregistrovat.
Zkontrolujte registraci poskytovatele. Ujistěte se, že každý z nich vrátí Zaregistrovaný.
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
Pokud nevrátí zaregistrované, zaregistrujte poskytovatele spuštěním následujících příkazů:
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
Nastavení proměnných a oprávnění
Pokud jste už vytvořili galerii výpočetních prostředků Azure pomocí možnosti Vytvořit image a distribuujte ji do galerie výpočetních prostředků Azure, už jste vytvořili některé z potřebných proměnných.
Poznámka:
Image Builder virtuálního počítače podporuje vytváření vlastních imagí pouze ve stejné skupině prostředků, ve které je image spravovaná zdrojem. V následujícím příkladu aktualizujte název skupiny prostředků ibsigRG s názvem skupiny prostředků, ve které je vaše image spravovaná zdrojem.
Pokud jste proměnné ještě nevytvořili, spusťte následující příkazy:
# 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"
Vytvořte proměnnou pro ID předplatného:
subscriptionID=$(az account show --query id --output tsv)
Získejte verzi image, kterou chcete aktualizovat:
sigDefImgVersionId=$(az sig image-version list \ -g $sigResourceGroup \ --gallery-name $sigName \ --gallery-image-definition $imageDefName \ --subscription $subscriptionID --query [].'id' -o tsv)
Vytvoření identity přiřazené uživatelem a nastavení oprávnění pro skupinu prostředků
V předchozím příkladu jste nastavili identitu uživatele, takže teď potřebujete získat ID prostředku, které se připojí k šabloně.
#get identity used previously
imgBuilderId=$(az identity list -g $sigResourceGroup --query "[?contains(name, 'aibBuiUserId')].id" -o tsv)
Pokud už máte galerii výpočetních prostředků Azure, ale nenastavili jste ji podle předchozího příkladu, musíte přiřadit oprávnění pro VM Image Builder pro přístup ke skupině prostředků, aby měla přístup k galerii. Další informace najdete v tématu Vytvoření image a její distribuce do Galerie výpočetních prostředků Azure.
Úprava příkladu helloImage
Příklad JSON, který se chystáte použít, najdete v helloImageTemplateforSIGfromSIG.json. Informace o souboru JSON najdete v tématu Vytvoření šablony Image Builderu virtuálního počítače Azure.
Stáhněte si příklad JSON, jak je znázorněno v tématu Vytvoření identity přiřazené uživatelem a nastavení oprávnění pro skupinu prostředků.
Nakonfigurujte JSON s vašimi proměnnými:
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
Vytvoření image
Odešlete konfiguraci image do služby Image Builder virtuálního počítače:
az resource create \ --resource-group $sigResourceGroup \ --location $location \ --properties @helloImageTemplateforSIGfromWinSIG.json \ --is-full-object \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n imageTemplateforSIGfromWinSIG01
Spusťte sestavení image:
az resource invoke-action \ --resource-group $sigResourceGroup \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n imageTemplateforSIGfromWinSIG01 \ --action Run
Než přejdete k dalšímu kroku, počkejte, než se image sestaví a replikuje.
Vytvoření virtuálního počítače
Vytvořte virtuální počítač následujícím způsobem:
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
Ověření vlastního nastavení
Vytvořte připojení ke vzdálené ploše k virtuálnímu počítači pomocí uživatelského jména a hesla, které jste nastavili při vytváření virtuálního počítače. Ve virtuálním počítači otevřete okno příkazového řádku a spusťte:
dir c:\
Teď byste měli vidět dva adresáře:
- buildActions: Vytvořeno v první verzi image.
- buildActions2: Vytvořeno při aktualizaci první verze image pro vytvoření druhé verze image.
Další kroky
Další informace o komponentách souboru JSON, který jste použili v tomto článku, najdete v tématu Vytvoření šablony Image Builderu virtuálního počítače Azure.