Condividi tramite


Salvare immagini personalizzate e distribuirle in più lab

Questo articolo illustra i passaggi per salvare immagini personalizzate dalle macchine virtuali già create. Illustra anche come distribuire queste immagini personalizzate ad altri DevTest Labs nell'organizzazione.

Prerequisiti

Gli elementi seguenti devono essere già presenti:

  • Lab per Image Factory in Azure DevTest Labs.
  • Un progetto Azure DevOps usato per automatizzare la factory di immagini.
  • Percorso del codice sorgente contenente gli script e la configurazione (nell'esempio, nello stesso progetto DevOps menzionato nel passaggio precedente).
  • Definizione di compilazione per orchestrare le attività di Azure PowerShell.

Se necessario, seguire la procedura descritta in Eseguire una factory di immagini da Azure DevOps per creare o configurare questi elementi.

Salvare le macchine virtuali come dischi rigidi virtuali generalizzati

Salvare le macchine virtuali esistenti come dischi rigidi virtuali generalizzati. È disponibile uno script di PowerShell di esempio per salvare le macchine virtuali esistenti come dischi rigidi virtuali generalizzati. Per usarlo, aggiungere prima un'altra attività Azure PowerShell alla definizione di compilazione, come illustrato nell'immagine seguente:

Aggiungere Azure PowerShell passaggio

Dopo aver creato la nuova attività nell'elenco, selezionare l'elemento in modo da poter compilare tutti i dettagli, come illustrato nell'immagine seguente:

Impostazioni di PowerShell

Immagini personalizzate generalizzate e specializzate

Nella portale di Azure, quando si crea un'immagine personalizzata da una macchina virtuale, è possibile scegliere di avere un'immagine personalizzata generalizzata o specializzata.

  • Immagine personalizzata specializzata: Sysprep/Deprovision non è stato eseguito nel computer. Significa che l'immagine è una copia esatta del disco del sistema operativo nella macchina virtuale esistente (uno snapshot). Il nuovo computer ha gli stessi file, applicazioni, account utente e nome computer di questa immagine personalizzata.
  • Immagine personalizzata generalizzata: Sysprep/Deprovision è stato eseguito nel computer. Questo processo rimuove gli account utente, rimuove il nome del computer e rimuove l'hives del Registro di sistema utente. L'obiettivo è generalizzare l'immagine in modo da poterla personalizzare durante la creazione di un'altra macchina virtuale. Quando si generalizza una macchina virtuale eseguendo sysprep, il processo elimina la macchina virtuale corrente. La macchina virtuale corrente non è più funzionale.

Lo script per lo snaping di immagini personalizzate in Image Factory salva dischi rigidi virtuali per tutte le macchine virtuali create nel passaggio precedente. Lo script identifica i dischi rigidi virtuali in base a un tag nella risorsa in Azure.

Configurazione di aggiornamento per la distribuzione di immagini

Il passaggio successivo del processo consiste nel eseguire il push delle immagini personalizzate dal lab di image factory ad altri lab necessari. La parte principale di questo processo è il file di configurazione labs.json . È possibile trovare questo file nella cartella Configuration inclusa nella image factory.

Esistono due elementi chiave elencati nel file di configurazione labs.json:

  • Identificazione univoca di un lab di destinazione specifico usando l'ID sottoscrizione e il nome del lab.
  • Set specifico di immagini che devono essere push nel lab come percorsi relativi alla radice di configurazione. È anche possibile specificare l'intera cartella (per ottenere anche tutte le immagini in tale cartella).

Ecco un file labs.json di esempio con due lab elencati. In questo caso, si distribuiscono immagini in due lab diversi.

{
   "Labs": [
      {
         "SubscriptionId": "<subscription ID that contains the lab>",
         "LabName": "<Name of the DevTest Lab>",
         "ImagePaths": [
               "Win2012R2",
               "Win2016/Datacenter.json"
         ]
      },
      {
         "SubscriptionId": "<subscription ID that contains the lab>",
         "LabName": "<Name of the DevTest Lab>",
         "ImagePaths": [
               "Win2016/Datacenter.json"
         ]
      }
   ]
}

Creare un'attività di compilazione

Usando gli stessi passaggi di questo articolo, aggiungere un'attività di compilazione Azure PowerShell alla definizione di compilazione. Compilare i dettagli, come illustrato nell'immagine seguente:

Screenshot di un'attività di compilazione per distribuire immagini.

I parametri sono: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(DevTestLabName) -maxConcurrentJobs 20

Questa attività accetta tutte le immagini personalizzate presenti nella factory di immagini e le esegue il push in tutti i lab definiti nel file Labs.json.

Accodamento della compilazione

Al termine dell'attività di compilazione della distribuzione, accodare una nuova compilazione per assicurarsi che tutto funzioni. Al termine della compilazione, le nuove immagini personalizzate vengono visualizzate nel lab di destinazione immesse nel file di configurazione Labs.json.

Passaggi successivi

Nell'articolo successivo della serie si aggiorna la factory delle immagini con criteri di conservazione e passaggi di pulizia: Impostare i criteri di conservazione ed eseguire script di pulizia.