Új virtuálisgép-rendszerkép létrehozása meglévő rendszerképből az Azure VM Image Builder használatával Linuxon
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Ebben a cikkben megtudhatja, hogyan frissíthet egy meglévő rendszerképverziót egy Azure Compute Galleryben (korábban megosztott képgyűjteményben ), és hogyan teheti közzé a katalógusban új képverzióként.
A rendszerkép konfigurálásához használjon egy JSON-mintasablont, a helloImageTemplateforSIGfromSIG.json fájlt.
A szolgáltatók regisztrálása
A VM Image Builder használatához regisztrálnia kell a szolgáltatókat.
Ellenőrizze a szolgáltatói regisztrációkat. Győződjön meg arról, hogy mindegyik a Regisztrált értéket adja vissza.
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
Ha nem térnek vissza a Regisztráltakhoz, regisztrálja a szolgáltatókat az alábbi parancsok futtatásával:
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
Változók és engedélyek beállítása
Ha már létrehozott egy Azure Compute Galleryt egy rendszerkép létrehozásával és egy Azure Compute Galleryben való terjesztésével, már létrehozott néhány szükséges változót.
Ha még nem hozta létre a változókat, futtassa a következő parancsokat:
# Resource group name sigResourceGroup=ibLinuxGalleryRG # Gallery location location=westus2 # Additional region to replicate the image version to additionalregion=eastus # Name of the Azure Compute Gallery sigName=myIbGallery # Name of the image definition to use imageDefName=myIbImageDef # image distribution metadata reference name runOutputName=aibSIGLinuxUpdate
Hozzon létre egy változót az előfizetés azonosítójához:
subscriptionID=$(az account show --query id --output tsv)
Szerezze be a frissíteni kívánt képverziót:
sigDefImgVersionId=$(az sig image-version list \ -g $sigResourceGroup \ --gallery-name $sigName \ --gallery-image-definition $imageDefName \ --subscription $subscriptionID --query [].'id' -o tsv)
Felhasználó által hozzárendelt identitás létrehozása és engedélyek beállítása az erőforráscsoporton
Egy korábbi példában beállította a felhasználói identitást, ezért most be kell szereznie az erőforrás-azonosítót, amelyet hozzáfűz a sablonhoz.
#get identity used previously
imgBuilderId=$(az identity list -g $sigResourceGroup --query "[?contains(name, 'aibBuiUserId')].id" -o tsv)
Ha már rendelkezik azure-beli számítási katalógussal, de egy korábbi példát követve nem állította be, engedélyeket kell hozzárendelnie a VM Image Builderhez az erőforráscsoport eléréséhez, hogy hozzáférhessen a katalógushoz. További információ: Rendszerkép létrehozása és terjesztése egy Azure Compute Galleryben.
A helloImage példa módosítása
A használni kívánt JSON-példát a helloImageTemplateforSIGfromSIG.json webhelyen tekintheti meg. A JSON-fájlról további információt az Azure VM Image Builder-sablon létrehozása című témakörben talál.
Töltse le a JSON-példát a Linux rendszerkép létrehozása és az Azure Compute Galleryben való terjesztése az Azure CLI használatával.
Konfigurálja a JSON-t a változókkal:
curl https://raw.githubusercontent.com/azure/azvmimagebuilder/master/quickquickstarts/8_Creating_a_Custom_Linux_Shared_Image_Gallery_Image_from_SIG/helloImageTemplateforSIGfromSIG.json -o helloImageTemplateforSIGfromSIG.json sed -i -e "s/<subscriptionID>/$subscriptionID/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<rgName>/$sigResourceGroup/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<imageDefName>/$imageDefName/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<sharedImageGalName>/$sigName/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s%<sigDefImgVersionId>%$sigDefImgVersionId%g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<region1>/$location/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<region2>/$additionalregion/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s/<runOutputName>/$runOutputName/g" helloImageTemplateforSIGfromSIG.json sed -i -e "s%<imgBuilderId>%$imgBuilderId%g" helloImageTemplateforSIGfromSIG.json
A rendszerkép létrehozása
Küldje el a képkonfigurációt a VM Image Builder szolgáltatásnak:
az resource create \ --resource-group $sigResourceGroup \ --properties @helloImageTemplateforSIGfromSIG.json \ --is-full-object \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n helloImageTemplateforSIGfromSIG01
Indítsa el a rendszerkép összeállítását:
az resource invoke-action \ --resource-group $sigResourceGroup \ --resource-type Microsoft.VirtualMachineImages/imageTemplates \ -n helloImageTemplateforSIGfromSIG01 \ --action Run
Várja meg, amíg a rendszerkép létrejön és replikálódik, mielőtt továbblép a következő lépésre.
Create the VM
Hozza létre a virtuális gépet a következő lépéssel:
az vm create \ --resource-group $sigResourceGroup \ --name aibImgVm001 \ --admin-username azureuser \ --location $location \ --image "/subscriptions/$subscriptionID/resourceGroups/$sigResourceGroup/providers/Microsoft.Compute/galleries/$sigName/images/$imageDefName/versions/latest" \ --generate-ssh-keys
Hozzon létre egy Secure Shell-kapcsolatot (SSH) a virtuális géphez a virtuális gép nyilvános IP-címével.
ssh azureuser@<pubIp>
Az SSH-kapcsolat létrejötte után "A nap üzenete" üzenetet kell kapnia, amely szerint a rendszerkép testre lett szabva:
******************************************************* ** This VM was built from the: ** ** !! AZURE VM IMAGE BUILDER Custom Image !! ** ** You have just been Customized :-) ** *******************************************************
Írja be
exit
az SSH-kapcsolat bezárásához.A katalógusban már elérhető képverziók listázásához futtassa a következőt:
az sig image-version list -g $sigResourceGroup -r $sigName -i $imageDefName -o table
További lépések
A cikkben használt JSON-fájl összetevőiről további információt az Azure VM Image Builder-sablon létrehozása című témakörben talál.