Udostępnij za pośrednictwem


Zapisywanie obrazów niestandardowych i ich dystrybucja do wielu laboratoriów

W tym artykule przedstawiono kroki zapisywania obrazów niestandardowych z już utworzonych maszyn wirtualnych. Opisano również sposób dystrybuowania tych obrazów niestandardowych do innych laboratoriów DevTest Labs w organizacji.

Wymagania wstępne

Powinny już istnieć następujące elementy:

  • Laboratorium dla fabryki obrazów w Azure DevTest Labs.
  • Projekt usługi Azure DevOps używany do automatyzacji fabryki obrazów.
  • Lokalizacja kodu źródłowego zawierająca skrypty i konfigurację (w naszym przykładzie w tym samym projekcie DevOps wymienionym w poprzednim kroku).
  • Tworzenie definicji w celu organizowania zadań Azure PowerShell.

W razie potrzeby wykonaj kroki opisane w temacie Uruchamianie fabryki obrazów z usługi Azure DevOps , aby utworzyć lub skonfigurować te elementy.

Zapisywanie maszyn wirtualnych jako uogólnionych dysków VHD

Zapisz istniejące maszyny wirtualne jako uogólnione wirtualne dyski twarde. Istnieje przykładowy skrypt programu PowerShell służący do zapisywania istniejących maszyn wirtualnych jako uogólnionych dysków VHD. Aby go użyć, najpierw dodaj kolejne zadanie Azure PowerShell do definicji kompilacji, jak pokazano na poniższej ilustracji:

Dodawanie kroku Azure PowerShell

Po utworzeniu nowego zadania na liście wybierz element, abyśmy mogli wypełnić wszystkie szczegóły, jak pokazano na poniższej ilustracji:

Ustawienia programu PowerShell

Uogólnione a wyspecjalizowane obrazy niestandardowe

W Azure Portal podczas tworzenia obrazu niestandardowego na podstawie maszyny wirtualnej można wybrać uogólniony lub wyspecjalizowany obraz niestandardowy.

  • Wyspecjalizowany obraz niestandardowy: Nie uruchomiono obsługi administracyjnej narzędzia Sysprep/Deprovision na maszynie. Oznacza to, że obraz jest dokładną kopią dysku systemu operacyjnego na istniejącej maszynie wirtualnej (migawka). Nowa maszyna ma te same pliki, aplikacje, konta użytkowników i nazwę komputera co ten obraz niestandardowy.
  • Uogólniony obraz niestandardowy: Na maszynie uruchomiono polecenie Sysprep/Deprovision. Ten proces usuwa konta użytkowników, usuwa nazwę komputera i usuwa gałąź rejestru użytkowników. Celem jest uogólnienie obrazu, aby można było go dostosować podczas tworzenia innej maszyny wirtualnej. Po uogólnieniu maszyny wirtualnej przez uruchomienie narzędzia sysprep proces niszczy bieżącą maszynę wirtualną. Bieżąca maszyna wirtualna nie jest już funkcjonalna.

Skrypt do przyciągania obrazów niestandardowych w usłudze Image Factory zapisuje dyski VHD dla wszystkich maszyn wirtualnych utworzonych w poprzednim kroku. Skrypt identyfikuje wirtualne dyski twarde na podstawie tagu zasobu na platformie Azure.

Aktualizowanie konfiguracji dystrybucji obrazów

Następnym krokiem procesu jest wypchnięcie niestandardowych obrazów z laboratorium fabryki obrazów do innych laboratoriów, które ich potrzebują. Podstawową częścią tego procesu jest plik konfiguracji labs.json . Ten plik można znaleźć w folderze Konfiguracja dołączonym do fabryki obrazów.

Istnieją dwa kluczowe elementy wymienione w pliku konfiguracji labs.json:

  • Unikatowe identyfikowanie określonego laboratorium docelowego przy użyciu identyfikatora subskrypcji i nazwy laboratorium.
  • Określony zestaw obrazów, który powinien zostać wypchnięty do laboratorium jako ścieżki względne do katalogu głównego konfiguracji. Możesz również określić cały folder (aby pobrać wszystkie obrazy w tym folderze).

Oto przykładowy plik labs.json z dwoma laboratoriami na liście. W takim przypadku dystrybuujesz obrazy do dwóch różnych laboratoriów.

{
   "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"
         ]
      }
   ]
}

Tworzenie zadania kompilacji

Korzystając z tych samych kroków co wcześniej w tym artykule, dodaj zadanie kompilacji Azure PowerShell do definicji kompilacji. Wypełnij szczegóły, jak pokazano na poniższej ilustracji:

Zrzut ekranu przedstawiający zadanie kompilacji do dystrybucji obrazów.

Parametry to: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(DevTestLabName) -maxConcurrentJobs 20

To zadanie wykonuje dowolne obrazy niestandardowe obecne w fabryce obrazów i wypycha je do dowolnych laboratoriów zdefiniowanych w pliku Labs.json.

Kolejkowanie kompilacji

Po zakończeniu zadania kompilacji dystrybucji utwórz nową kompilację, aby upewnić się, że wszystko działa. Po pomyślnym zakończeniu kompilacji nowe obrazy niestandardowe zostaną wyświetlone w laboratorium docelowym wprowadzonym w pliku konfiguracji Labs.json.

Następne kroki

W następnym artykule z serii zaktualizujesz fabrykę obrazów przy użyciu zasad przechowywania i kroków oczyszczania: Ustaw zasady przechowywania i uruchom skrypty oczyszczania.