Esercitazione: Creare un'immagine personalizzata di una macchina virtuale di Azure con l'interfaccia della riga di comando di Azure

Si applica a: ✔️ Set di scalabilità flessibili di macchine virtuali ✔️ Linux

Le immagini personalizzate sono come le immagini di marketplace, ma si possono creare autonomamente. Le immagini personalizzate possono essere usate per le configurazioni di avvio, ad esempio il precaricamento e le configurazioni di applicazioni e altre configurazioni del sistema operativo. In questa esercitazione viene creata un'immagine personalizzata di una macchina virtuale di Azure. Si apprenderà come:

  • Creare una raccolta di calcolo di Azure (nota in precedenza come Raccolta immagini condivise)
  • Creare una definizione dell'immagine
  • Creare una versione di immagine
  • Creare una macchina virtuale da un'immagine
  • Condividere una raccolta

Questa esercitazione usa l'interfaccia della riga di comando all'interno di Azure Cloud Shell, che viene costantemente aggiornato alla versione più recente. Per aprire Cloud Shell, selezionare Prova nella parte superiore di qualsiasi blocco di codice.

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.35.0 o successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Panoramica

Una raccolta di calcolo di Azure semplifica la condivisione di immagini personalizzate nell'organizzazione. Le immagini personalizzate sono come le immagini di marketplace, ma si possono creare autonomamente. Le immagini personalizzate possono essere usate per le configurazioni di avvio, ad esempio il precaricamento e le configurazioni di applicazioni e altre configurazioni del sistema operativo.

La raccolta di calcolo di Azure consente di condividere le immagini di vm personalizzate con altri utenti. Scegliere le immagini da condividere, le aree in cui si vuole che siano disponibili e le con cui si vuole condividerle.

La funzionalità Raccolta di calcolo di Azure presenta più tipi di risorse:

Risorsa Descrizione
Origine immagine Si tratta di una risorsa che può essere usata per creare una versione dell'immagine in una raccolta. Un'origine immagine può essere una macchina virtuale di Azure esistente generalizzata o specializzata, un'immagine gestita, uno snapshot o una versione dell'immagine in un'altra raccolta.
Raccolta Analogamente alla Azure Marketplace, una raccolta è un repository per la gestione e la condivisione di immagini e applicazioni vm, ma si controlla chi può accedere.
Definizione delle immagini Le definizioni di immagini vengono create all'interno di una raccolta e forniscono informazioni sull'immagine e sui requisiti per il relativo uso interno. Questa include il fatto che l'immagine è per Windows o Linux, le note sulla versione e i requisiti minimi e massimi di memoria. Si tratta della definizione di un tipo di immagine.
Versione dell'immagine La versione dell'immagine è ciò che si usa per creare una macchina virtuale quando si usa una raccolta. È possibile avere più versioni di un'immagine in base alle necessità del proprio ambiente. Come un'immagine gestita, quando si usa una versione dell'immagine per creare una macchina virtuale, la versione dell'immagine viene usata per creare nuovi dischi per la macchina virtuale. Le versioni delle immagini possono essere usate più volte.

Prima di iniziare

La procedura seguente illustra come eseguire una macchina virtuale esistente e trasformarla in un'immagine personalizzata riutilizzabile che è possibile usare per creare nuove istanze di macchina virtuale.

Per completare l'esempio contenuto in questa esercitazione è necessario disporre di una macchina virtuale esistente. Se necessario, vedere l'avvio rapido con interfaccia della riga di comando per creare una macchina virtuale da usare per questa esercitazione. Quando si esegue l'esercitazione, sostituire i nomi delle risorse dove necessario.

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile avviare Cloud Shell in una scheda separata del browser visitando https://shell.azure.com/powershell. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.

Una raccolta è la risorsa primaria usata per abilitare la condivisione delle immagini.

I caratteri consentiti per il nome della raccolta sono lettere maiuscole o minuscole, numeri e punti. Il nome della raccolta non può contenere trattini. I nomi di raccolta devono essere univoci all'interno della sottoscrizione.

Creare una raccolta usando az sig create. L'esempio seguente crea un gruppo di risorse denominato myGalleryRG nell'area Stati Uniti orientali e una raccolta denominata myGallery.

az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery

Ottenere informazioni sulla VM

Per visualizzare un elenco delle macchine virtuali disponibili, usare az vm list.

az vm list --output table

Quando si conosce il nome della macchina virtuale e il gruppo di risorse in cui si trova, per ottenere l'ID della macchina virtuale usare az vm get-instance-view.

az vm get-instance-view -g MyResourceGroup -n MyVm --query id

Copiare l'ID della macchina virtuale per usarlo in un secondo momento.

Creare una definizione dell'immagine

Le definizioni di immagini creano un raggruppamento logico per le immagini. Vengono usati per gestire le informazioni sulle versioni delle immagini create all'interno di esse.

I nomi delle definizioni di immagini possono essere costituiti da lettere maiuscole o minuscole, numeri, trattini e punti.

Per altre informazioni sui valori che è possibile specificare per la definizione di immagine, vedere Definizioni di immagini.

Creare una definizione di immagine nella raccolta usando az sig image-definition create.

In questo esempio la definizione di immagine è denominata myImageDefinition ed è relativa a un'immagine specializzata del sistema operativo Linux.

az sig image-definition create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --publisher myPublisher \
   --offer myOffer \
   --sku mySKU \
   --os-type Linux \
   --os-state specialized

Copiare l'ID della definizione dell'immagine dall'output per usarla in un secondo momento.

Creare la versione di immagine

Creare una versione dell'immagine dalla macchina virtuale usando az sig image-version create.

I caratteri consentiti per le versioni delle immagini sono numeri e punti. I numeri devono essere compresi nell'intervallo di un valore Integer a 32 bit. Formato: MajorVersion.MinorVersion.Patch.

In questo esempio la versione dell'immagine è 1.0.0 e verranno create due repliche nell'area Stati Uniti centro-occidentali , una replica nell'area Stati Uniti centro-meridionali e una replica nell'area Stati Uniti orientali 2 usando l'archiviazione con ridondanza della zona. Le aree di replica devono includere l'area in cui si trova la macchina virtuale di origine.

Sostituire il valore di --managed-image in questo esempio con l'ID della macchina virtuale del passaggio precedente.

az sig image-version create \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --gallery-image-definition myImageDefinition \
   --gallery-image-version 1.0.0 \
   --target-regions "westcentralus" "southcentralus=1" "eastus=1=standard_zrs" \
   --replica-count 2 \
   --managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"

Nota

È necessario attendere che la creazione della versione dell'immagine venga interamente completata e replicata prima di poter usare la stessa immagine gestita o creare un'altra versione di immagine.

Quando si crea la versione dell'immagine, è anche possibile archiviare l'immagine nell'archiviazione Premium, aggiungendo --storage-account-type premium_lrs, oppure nell'archiviazione con ridondanza della zona, aggiungendo --storage-account-type standard_zrs.

Creare la macchina virtuale

Creare la macchina virtuale usando az vm create usando il --specialized parametro per indicare che l'immagine è un'immagine specializzata.

Usare l'ID definizione immagine per --image per creare la macchina virtuale dalla versione più recente dell'immagine disponibile. È anche possibile creare la macchina virtuale da una versione specifica fornendo l'ID versione dell'immagine per --image.

In questo esempio viene creata una macchina virtuale dalla versione più recente dell'immagine myImageDefinition .

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM2 \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

È possibile condividere immagini tra sottoscrizioni usando il controllo degli accessi in base al ruolo di Azure. È possibile condividere immagini a livello di raccolta, definizione di immagine o versione dell'immagine. Qualsiasi utente che abbia autorizzazioni di lettura per una versione di immagine, anche tra sottoscrizioni diverse, potrà distribuire una VM usando la versione dell'immagine.

È consigliabile condividere con altri utenti a livello di raccolta. Per ottenere l'ID oggetto della raccolta, usare az sig show.

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

Usare l'ID oggetto come ambito, insieme a un indirizzo di posta elettronica e a az role assignment create per concedere a un utente l'accesso alla raccolta di calcolo di Azure. Sostituire <email-address> e <gallery iD> con le proprie informazioni.

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

Per altre informazioni su come condividere risorse usando il controllo degli accessi in base al ruolo di Azure, vedere Aggiungere o rimuovere assegnazioni di ruolo di Azure tramite l'interfaccia della riga di comando di Azure.

Azure Image Builder

Azure offre anche un servizio, basato su Packer, ovvero Image Builder per macchine virtuali di Azure. Descrivere le personalizzazioni in un modello e gestirà la creazione dell'immagine.

Passaggi successivi

In questa esercitazione è stata creata un'immagine di macchina virtuale personalizzata. Si è appreso come:

  • Creare una Raccolta di calcolo di Azure
  • Creare una definizione dell'immagine
  • Creare una versione di immagine
  • Creare una macchina virtuale da un'immagine
  • Condividere una raccolta

Passare all'esercitazione successiva per informazioni su set di scalabilità di macchine virtuali.