Ú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.

  1. 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
    
  2. 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.

  1. 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
    
  2. Hozzon létre egy változót az előfizetés azonosítójához:

    subscriptionID=$(az account show --query id --output tsv)
    
  3. 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.

  1. 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.

  2. 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

  1. 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
    
  2. 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

  1. 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
    
  2. 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 :-)         **
    *******************************************************
    
  3. Írja be exit az SSH-kapcsolat bezárásához.

  4. 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.