Partager via


Utiliser une image de la Place de marché Azure pour créer une image de machine virtuelle pour votre Azure Stack Edge Pro GPU

S’APPLIQUE À : Oui pour la référence SKU Pro GPUAzure Stack Edge Pro : GPUOui pour la référence SKU Pro 2Azure Stack Edge Pro 2Oui pour la référence SKU Pro RAzure Stack Edge Pro ROui pour la référence SKU Mini RAzure Stack Edge Mini R

Pour déployer des machines virtuelles sur votre appareil Azure Stack Edge Pro GPU, vous devez créer une image de machine virtuelle que vous pouvez utiliser pour créer des machines virtuelles. Cet article décrit les étapes nécessaires à la création d’une image de machine virtuelle à partir d’une image de la Place de marché Azure. Vous pouvez ensuite utiliser cette image de machine virtuelle pour déployer des machines virtuelles sur votre appareil Azure Stack Edge Pro GPU.

Workflow d’image de machine virtuelle

Les étapes suivantes décrivent le flux de travail d’une image de machine virtuelle à l’aide d’un flux de travail de Place de marché Azure :

  1. Connectez-vous à Azure Cloud Shell ou à un client sur lequel Azure CLI est installé.
  2. Recherchez la Place de marché Azure et choisissez votre image préférée.
  3. Créez un nouveau disque managé à partir de l’image de la Place de marché.
  4. Exportez un VHD à partir du disque managé vers le compte de stockage Azure.
  5. Nettoyez le disque managé.

Pour plus d’informations, consultez Déployer une machine virtuelle sur votre appareil Azure Stack Edge Pro à l’aide d’Azure PowerShell.

Prérequis

Avant de pouvoir utiliser des images de la Place de marché Azure pour Azure Stack Edge, assurez-vous que vous êtes connecté à Azure de l’une des manières suivantes.

Rechercher des images de la Place de marché Azure

Identifiez une image spécifique de la Place de marché Azure que vous souhaitez utiliser. La Place de marché Azure héberge des milliers d’images de machine virtuelle.

Pour trouver certaines des images de la Place de marché les plus couramment utilisées qui correspondent à vos critères de recherche, exécutez la commande suivante.

az vm image list --all [--publisher <Publisher>] [--offer <Offer>] [--sku <SKU>]

Les trois derniers indicateurs sont facultatifs, mais les exclure vous renvoie à une longue liste.

Voici quelques exemples de requêtes :

#Returns all images of type "Windows Server"
az vm image list --all --publisher "MicrosoftWindowsserver" --offer "WindowsServer"

#Returns all Windows Server 2019 Datacenter images from West US published by Microsoft
az vm image list --all --location "westus" --publisher "MicrosoftWindowsserver" --offer "WindowsServer" --sku "2019-Datacenter"

#Returns all VM images from a publisher
az vm image list --all --publisher "Canonical"

Voici un exemple de sortie lorsque des images de machine virtuelle d’un éditeur, d’une offre et d’une référence SKU ont été interrogées.

PS /home/user> az vm image list --all --publisher "Canonical" --offer "UbuntuServer" --sku "12.04.4-LTS"
[
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201402270",
    "version": "12.04.201402270"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201404080",
    "version": "12.04.201404080"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201404280",
    "version": "12.04.201404280"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201405140",
    "version": "12.04.201405140"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201406060",
    "version": "12.04.201406060"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201406190",
    "version": "12.04.201406190"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201407020",
    "version": "12.04.201407020"
  },
  {
    "offer": "UbuntuServer",
    "publisher": "Canonical",
    "sku": "12.04.4-LTS",
    "urn": "Canonical:UbuntuServer:12.04.4-LTS:12.04.201407170",
    "version": "12.04.201407170"
  }
]
PS /home/user>

Dans cet exemple, nous allons sélectionner Windows Server 2019 Datacenter Core, version 2019.0.20190410. Nous allons identifier cette image par son URN (Universal Resource Number).

Liste des images de la Place de marché

Images de la Place de marché couramment utilisées

Vous trouverez ci-dessous une liste d’URN pour certaines des images les plus couramment utilisées. Si vous souhaitez simplement la dernière version d’un système d’exploitation particulier, le numéro de version peut être remplacé par « latest » dans l’URN. Par exemple, « MicrosoftWindowsServer:WindowsServer:2019-Datacenter:Latest ».

SE SKU Version URN
Windows Server 2019 Datacenter 17763.1879.2104091832 MicrosoftWindowsServer:WindowsServer:2019-Datacenter:17763.1879.2104091832
Windows Server 2019 Datacenter (petit disque de 30 Go) 17763.1879.2104091832 MicrosoftWindowsServer:WindowsServer:2019-Datacenter-smalldisk:17763.1879.2104091832
Windows Server 2019 Datacenter Core 17763.1879.2104091832 MicrosoftWindowsServer:WindowsServer:2019-Datacenter-Core:17763.1879.2104091832
Windows Server 2019 Datacenter Core (petit disque de 30 Go) 17763.1879.2104091832 MicrosoftWindowsServer:WindowsServer:2019-Datacenter-Core-smalldisk:17763.1879.2104091832
Windows Desktop Windows 10 20H2 Pro 19042.928.2104091209 MicrosoftWindowsDesktop:Windows-10:20h2-pro:19042.928.2104091209
Serveur Ubuntu Canonical Ubuntu Server 18.04 LTS 18.04.202002180 Canonical:UbuntuServer:18.04-LTS:18.04.202002180
Serveur Ubuntu Canonical Ubuntu Server 16.04 LTS 16.04.202104160 Canonical:UbuntuServer:16.04-LTS:16.04.202104160

Créer un disque managé à partir de l’image de la Place de marché

Créez un disque managé Azure à partir de l’image de la Place de marché choisie.

  1. Définissez certains paramètres.

    $urn = <URN of the Marketplace image> #Example: “MicrosoftWindowsServer:WindowsServer:2019-Datacenter:Latest”
    $diskName = <disk name> #Name for new disk to be created
    $diskRG = <resource group> #Resource group that contains the new disk
    
  2. Créez le disque et générez une URL d’accès SAS.

    az disk create -g $diskRG -n $diskName --image-reference $urn
    $sas = az disk grant-access --duration-in-seconds 36000 --access-level Read --name $diskName --resource-group $diskRG
    $diskAccessSAS = ($sas | ConvertFrom-Json)[0].accessSas
    

Voici un exemple de sortie :

PS /home/user> $urn = “MicrosoftWindowsServer:WindowsServer:2019-Datacenter:Latest”
PS /home/user> $diskName = "newmanageddisk1"
PS /home/user> $diskRG = "newrgmd1"
PS /home/user> az disk create -g $diskRG -n $diskName --image-reference $urn
{
  "burstingEnabled": null,
  "creationData": {
    "createOption": "FromImage",
    "galleryImageReference": null,
    "imageReference": {
      "id": "/Subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/Providers/Microsoft.Compute/Locations/eastus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/17763.1935.2105080716",
      "lun": null
    },
    "logicalSectorSize": null,
    "sourceResourceId": null,
    "sourceUniqueId": null,
    "sourceUri": null,
    "storageAccountId": null,
    "uploadSizeBytes": null
  },
  "diskAccessId": null,
  "diskIopsReadOnly": null,
  "diskIopsReadWrite": 500,
  "diskMBpsReadOnly": null,
  "diskMBpsReadWrite": 100,
  "diskSizeBytes": 136367308800,
  "diskSizeGb": 127,
  "diskState": "Unattached",
  "encryption": {
    "diskEncryptionSetId": null,
    "type": "EncryptionAtRestWithPlatformKey"
  },
  "encryptionSettingsCollection": null,
  "extendedLocation": null,
  "hyperVGeneration": "V1",
  "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/newrgmd1/providers/Microsoft.Compute/disks/NewManagedDisk1",
  "location": "eastus",
  "managedBy": null,
  "managedByExtended": null,
  "maxShares": null,
  "name": "NewManagedDisk1",
  "networkAccessPolicy": "AllowAll",
  "osType": "Windows",
  "propertyUpdatesInProgress": null,
  "provisioningState": "Succeeded",
  "purchasePlan": null,
  "resourceGroup": "newrgmd1",
  "securityProfile": null,
  "shareInfo": null,
  "sku": {
    "name": "Premium_LRS",
    "tier": "Premium"
  },
  "supportsHibernation": null,
  "tags": {},
  "tier": "P10",
  "timeCreated": "2021-06-08T00:39:34.205982+00:00",
  "type": "Microsoft.Compute/disks",
  "uniqueId": "1a649ad4-3b95-471e-89ef-1d2ed1f51525",
  "zones": null
}

PS /home/user> $sas = az disk grant-access --duration-in-seconds 36000 --access-level Read --name $diskName --resource-group $diskRG
PS /home/user>  $diskAccessSAS = ($sas | ConvertFrom-Json)[0].accessSas
PS /home/user>

Exporter un VHD à partir du disque managé vers Stockage Azure

Cette étape exporte un VHD du disque managé vers votre compte de stockage d’objets blob Azure préféré. Ce VHD peut ensuite être utilisé pour créer des images de machine virtuelle sur Azure Stack Edge.

  1. Définissez le compte de stockage de destination dans lequel le VHD est copié.

    $storageAccountName = <destination storage account name>
    $containerName = <destination container name>
    $destBlobName = <blobname.vhd> #Blob that will be created, including .vhd extension
    $storageAccountKey = <storage account key>
    
  2. Copiez le VHD dans le compte de stockage de destination.

    $destContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
    Start-AzureStorageBlobCopy -AbsoluteUri $diskAccessSAS -DestContainer $containerName -DestContext $destContext -DestBlob $destBlobName
    

    La copie du VHD prend plusieurs minutes. Vérifiez que la copie est terminée avant de continuer en exécutant la commande suivante. Une fois l’opération terminée, le champ d’état indique « Réussite ».

    Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName
    

Voici un exemple de sortie :

PS /home/user> $storageAccountName = "edgeazurevmeus"
PS /home/user> $containerName = "azurevmmp"
PS /home/user> $destBlobName = "newblobmp.vhd"
PS /home/user> $storageAccountKey = "n9sCytWLdTBz0F4Sco9SkPGWp6BJBtf7BJBk79msf1PfxJGQdqSfu6TboZWZ10xyZdc4y+Att08cC9B79jB0YA=="

PS /home/user> $destContext = New-AzureStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey
PS /home/user> Start-AzureStorageBlobCopy -AbsoluteUri $diskAccessSAS -DestContainer $containerName -DestContext $destContext -DestBlob $destBlobName

   AccountName: edgeazurevmeus, ContainerName: azurevmmp

Name                 BlobType  Length          ContentType                    LastModified         AccessTier SnapshotTime                 IsDeleted  VersionId
----                 --------  ------          -----------                    ------------         ---------- ------------                 ---------  ---------
newblobmp.vhd        PageBlob  -1                                             2021-06-08 00:50:10Z                                         False

PS /home/user> Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName

CopyId                  : 24a1e3f5-886a-490d-9dd7-562bb4acff58
CompletionTime          :
Status                  : Pending
Source                  : https://md-lfn221fppr2c.blob.core.windows.net/d4tb2hp5ff2q/abcd?sv=2018-03-28&sr=b&si=4f588db1-9aac-44d9-9607-35497cc08a7f
BytesCopied             : 696254464
TotalBytes              : 136367309312
StatusDescription       :
DestinationSnapshotTime :

PS /home/user> Get-AzureStorageBlobCopyState –Container $containerName –Context $destContext -Blob $destBlobName

CopyId                  : 24a1e3f5-886a-490d-9dd7-562bb4acff58
CompletionTime          : 6/8/2021 12:57:26 AM +00:00
Status                  : Success
Source                  : https://md-lfn221fppr2c.blob.core.windows.net/d4tb2hp5ff2q/abcd?sv=2018-03-28&sr=b&si=4f588db1-9aac-44d9-9607-35497cc08a7f
BytesCopied             : 136367309312
TotalBytes              : 136367309312
StatusDescription       :
DestinationSnapshotTime :

Nettoyez le disque managé

Pour supprimer le disque managé que vous avez créé, procédez comme suit :

az disk revoke-access --name $diskName --resource-group $diskRG
az disk delete --name $diskName --resource-group $diskRG --yes

La suppression prend quelques minutes.

Étapes suivantes

Déployer des machines virtuelles sur votre appareil Azure Stack Edge Pro GPU.