Udostępnij za pośrednictwem


Tworzenie niestandardowej fabryki obrazów w usłudze Azure DevTest Labs

W tym artykule pokazano, jak skonfigurować niestandardową fabrykę obrazów przy użyciu przykładowych skryptów dostępnych w repozytorium Git.

Co to jest fabryka obrazów?

Fabryka obrazów to rozwiązanie konfiguracji jako kodu, które kompiluje i dystrybuuje obrazy automatycznie regularnie ze wszystkimi żądanymi konfiguracjami. Obrazy w fabryce obrazów są zawsze aktualne, a ciągła konserwacja jest prawie zero, gdy cały proces zostanie zautomatyzowany. Ponieważ wszystkie wymagane konfiguracje są już na obrazie, pozwala zaoszczędzić czas z ręcznego konfigurowania systemu po utworzeniu maszyny wirtualnej przy użyciu podstawowego systemu operacyjnego.

Znaczący akcelerator umożliwiający przygotowanie pulpitu deweloperskiego w usłudze DevTest Labs korzysta z obrazów niestandardowych. Wadą obrazów niestandardowych jest to, że w laboratorium jest coś dodatkowego do utrzymania. Na przykład wersje próbne produktów wygasają wraz z upływem czasu (lub) nowo wydanych aktualizacji zabezpieczeń, co wymusza okresowe odświeżanie obrazu niestandardowego. W fabryce obrazów istnieje definicja obrazu zaewidencjonowana w celu kontroli kodu źródłowego i zautomatyzowany proces tworzenia obrazów niestandardowych na podstawie definicji.

Rozwiązanie umożliwia szybkie tworzenie maszyn wirtualnych na podstawie obrazów niestandardowych, eliminując dodatkowe bieżące koszty konserwacji. Dzięki temu rozwiązaniu można automatycznie tworzyć obrazy niestandardowe, rozpowszechniać je w innych laboratoriach DevTest Labs i wycofać stare obrazy. Wszystkie skrypty programu Azure PowerShell są dostępne bezpłatnie i znajdują się tutaj: https://aka.ms/dtlimagefactory.


Ogólny widok rozwiązania

Rozwiązanie umożliwia szybkie tworzenie maszyn wirtualnych na podstawie obrazów niestandardowych, eliminując dodatkowe bieżące koszty konserwacji. Dzięki temu rozwiązaniu można automatycznie tworzyć obrazy niestandardowe i rozpowszechniać je w innych laboratoriach DevTest Labs. Używasz usługi Azure DevOps (dawniej Visual Studio Team Services) jako aparatu aranżacji do automatyzacji wszystkich operacji w usłudze DevTest Labs.

High-level view of the solution.

Istnieje rozszerzenie usługi VSTS dla usługi DevTest Labs, które umożliwia wykonanie następujących indywidualnych kroków:

  • Tworzenie obrazu niestandardowego
  • Tworzenie maszyny wirtualnej
  • Usuwanie maszyny wirtualnej
  • Tworzenie środowiska
  • Usuwanie środowiska
  • Wypełnianie środowiska

Użycie rozszerzenia DevTest Labs to prosty sposób na rozpoczęcie pracy z automatycznym tworzeniem obrazów niestandardowych w usłudze DevTest Labs.

Istnieje alternatywna implementacja przy użyciu skryptu programu PowerShell dla bardziej złożonego scenariusza. Za pomocą programu PowerShell można w pełni zautomatyzować fabrykę obrazów opartą na usłudze DevTest Labs, które mogą być używane w łańcuchu narzędzi ciągłej integracji i ciągłego dostarczania (CI/CD). Zasady, które są przestrzegane w tym alternatywnym rozwiązaniu, to:

  • Typowe aktualizacje nie powinny wymagać żadnych zmian w fabryce obrazów. (na przykład dodanie nowego typu obrazu niestandardowego, automatyczne wycofanie starych obrazów, dodanie nowego "punktu końcowego" usługi DevTest Labs w celu odbierania obrazów niestandardowych itd.)
  • Typowe zmiany są wspierane przez kontrolę kodu źródłowego (infrastruktura jako kod)
  • Usługa DevTest Labs odbierająca obrazy niestandardowe może nie znajdować się w tej samej subskrypcji platformy Azure (laboratoria obejmują subskrypcje)
  • Skrypty programu PowerShell muszą być wielokrotnego użytku, aby można było uruchamiać więcej fabryk w razie potrzeby

Następne kroki

Przejdź do następnego artykułu w tej sekcji: Uruchamianie fabryki obrazów z usługi Azure DevOps.