Konfigurowanie zasad przechowywania w usłudze Azure DevTest Labs
W tym artykule opisano ustawianie zasad przechowywania, czyszczenie fabryki i wycofywanie starych obrazów ze wszystkich pozostałych laboratoriów DevTest Labs w organizacji.
Wymagania wstępne
Przed kontynuowaniem upewnij się, że wykonasz następujące czynności:
- Tworzenie fabryki obrazów
- Uruchamianie fabryki obrazów z usługi Azure DevOps
- Zapisywanie obrazów niestandardowych i ich dystrybucja do wielu laboratoriów
Powinny już istnieć następujące elementy:
- Laboratorium dla fabryki obrazów w Azure DevTest Labs
- Co najmniej jeden Azure DevTest Labs docelowy, w którym fabryka będzie rozpowszechniać złote obrazy
- 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 użytym powyżej)
- Definicja kompilacji do organizowania zadań Azure PowerShell
Ustawianie zasad przechowywania
Przed skonfigurowaniem kroków oczyszczania zdefiniuj liczbę obrazów historycznych, które mają być zachowywane w usłudze DevTest Labs. Po ukończeniu artykułu Run an image factory from Azure DevOps (Uruchamianie fabryki obrazów z usługi Azure DevOps ) skonfigurowano różne zmienne kompilacji. Jednym z nich był ImageRetention. Dla tej zmiennej ustawiono wartość 1
, co oznacza, że usługa DevTest Labs nie będzie przechowywać historii obrazów niestandardowych. Dostępne będą tylko najnowsze obrazy rozproszone. Jeśli zmienisz tę zmienną na 2
, zostanie zachowany najnowszy obraz rozproszony oraz poprzednie. Możesz ustawić tę wartość, aby zdefiniować liczbę obrazów historycznych, które mają być utrzymywane w usłudze DevTest Labs.
Czyszczenie fabryki
Pierwszym krokiem czyszczenia fabryki jest usunięcie złotych maszyn wirtualnych obrazu z fabryki obrazów. Istnieje skrypt do wykonania tego zadania tak samo jak w przypadku naszych poprzednich skryptów. Pierwszym krokiem jest dodanie kolejnego zadania Azure PowerShell do definicji kompilacji, jak pokazano na poniższej ilustracji:
Po utworzeniu nowego zadania na liście wybierz element i wypełnij wszystkie szczegóły, jak pokazano na poniższej ilustracji:
Parametry skryptu to: -DevTestLabName $(devTestLabName)
.
Wycofywanie starych obrazów
To zadanie usuwa wszystkie stare obrazy, zachowując tylko historię zgodną ze zmienną kompilacji ImageRetention . Dodaj dodatkowe zadanie kompilacji Azure PowerShell do naszej definicji kompilacji. Po dodaniu wybierz zadanie i wypełnij szczegóły, jak pokazano na poniższej ilustracji:
Parametry skryptu to: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(devTestLabName) -ImagesToSave $(ImageRetention)
Kolejkowanie kompilacji
Po zakończeniu definicji kompilacji utwórz nową kompilację w kolejce, aby upewnić się, że wszystko działa. Po pomyślnym zakończeniu kompilacji nowe obrazy niestandardowe zostaną wyświetlone w laboratorium docelowym. Jeśli sprawdzisz laboratorium fabryki obrazów, nie widzisz zaaprowizowanych maszyn wirtualnych. W przypadku gromadzenia kolejnych kompilacji w kolejce zostaną wyświetlone zadania oczyszczania, które wycofują stare obrazy niestandardowe z usługi DevTest Labs. Wycofanie jest zgodne z wartością przechowywania ustawioną w zmiennych kompilacji.
Uwaga
Jeśli potok kompilacji został wykonany na końcu ostatniego artykułu z serii, ręcznie usuń maszyny wirtualne utworzone w laboratorium fabryki obrazów przed kolejką nowej kompilacji. Krok oczyszczania ręcznego jest potrzebny tylko podczas konfigurowania wszystkich elementów i sprawdzania, czy działa.
Podsumowanie
Teraz masz działającą fabrykę obrazów, która może generować i rozpowszechniać obrazy niestandardowe w laboratoriach na żądanie. W tym momencie wystarczy prawidłowo skonfigurować obrazy i zidentyfikować laboratoria docelowe. Jak wspomniano w poprzednim artykule, plik Labs.json znajdujący się w folderze Configuration określa, które obrazy powinny być udostępniane w każdym laboratorium docelowym. Podczas dodawania innych laboratoriów DevTest Labs do organizacji wystarczy dodać wpis w pliku Labs.json dla nowego laboratorium.
Dodawanie nowego obrazu do fabryki jest również proste. Jeśli chcesz dołączyć nowy obraz do fabryki, otwórz Azure Portal i przejdź do laboratorium fabryki. Wybierz przycisk, aby dodać maszynę wirtualną, a następnie wybierz żądany obraz z witryny Marketplace i artefakty. Zamiast wybierać przycisk Utwórz, aby utworzyć nową maszynę wirtualną, wybierz pozycję Wyświetl szablon azure Resource Manager. Zapisz szablon jako plik json w folderze GoldenImages w repozytorium. Przy następnym uruchomieniu fabryki obrazów zostanie utworzony obraz niestandardowy.
Następne kroki
- Zaplanuj okresową kompilację/wydanie , aby uruchomić fabrykę obrazów. Regularnie odświeża obrazy generowane przez fabrykę.
- Utwórz więcej złotych obrazów dla fabryki. Możesz również rozważyć utworzenie artefaktów w celu utworzenia skryptu większej liczby elementów zadań konfiguracji maszyny wirtualnej i uwzględnienia artefaktów w obrazach fabryki.
- Utwórz oddzielną kompilację/wydanie , aby uruchomić oddzielnie skrypt DistributeImages . Ten skrypt można uruchomić po wprowadzeniu zmian w pliku Labs.json i skopiowaniu obrazów do laboratoriów docelowych bez konieczności ponownego tworzenia wszystkich obrazów.