Udostępnij za pośrednictwem


Co nowego w narzędziu Azure VM Image Builder

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny ✔️ wirtualne z systemem Windows ✔️ — elastyczne zestawy ✔️ skalowania

Ten artykuł zawiera wszystkie istotne zmiany interfejsu API i aktualizacje funkcji dla usługi Azure VM Image Builder (AIB).

Aktualizacje

Wrzesień 2024 r.

Automatyczne tworzenie obrazów za pośrednictwem wyzwalaczy zostanie zdezaktywowane, jeśli kompilacja szablonu obrazu nie powiodła się wiele razy po kolei, aby uniknąć niepotrzebnych błędów kompilacji.

Nadal możesz ręcznie skompilować szablon obrazu. Po pomyślnym zakończeniu kompilacji ręcznej wyzwalacze automatyczne zostaną ponownie aktywowane.

Należy pamiętać, że to zachowanie jest takie samo niezależnie od wersji interfejsu API używanej dla zasobu szablonu obrazu.

Maj 2024 r.

Zmiana powodująca niezgodność: ważność wielkości liter

Od 21 maja 2024 r. interfejs API programu Azure VM Image Builder w wersji 2024-02-02-01 i poza nią będzie wymuszać ważność wielkości liter dla wszystkich pól. Oznacza to, że wielkość liter w żądaniach interfejsu API musi być zgodna dokładnie z oczekiwanym formatem.

Ważne

Ważna uwaga dla istniejących użytkowników narzędzia Azure Image Builder

Jeśli jesteś istniejącym użytkownikiem narzędzia Azure VM Image Builder, upewnij się, że ta zmiana nie wpłynie na istniejące zasoby. Wymuszanie poufności sprawy dotyczy tylko nowo utworzonych zasobów przy użyciu interfejsu API w wersji 2024-02-01 lub nowszej. Istniejące zasoby będą nadal działać zgodnie z oczekiwaniami bez żadnych zmian.

Jeśli napotkasz jakiekolwiek problemy związane z poufnością przypadków, zapoznaj się ze zaktualizowaną dokumentacją interfejsu API narzędzia Azure Image Builder, aby uzyskać wskazówki.

Wcześniej interfejs API narzędzia Azure Image Builder był bardziej forgiving pod względem przypadku, ale w przyszłości precyzja jest kluczowa. Podczas wykonywania wywołań interfejsu API upewnij się, że używasz poprawnej wielkości liter nazw pól, parametrów i wartości. Jeśli na przykład pole nosi nazwę "vmBoot", musisz użyć polecenia "vmBoot" (nie "VMBoot" lub "vmboot").

Jeśli wyślesz żądanie interfejsu API do interfejsu API usługi Azure Image Builder w wersji 2024-02-01 lub nowszej z nieprawidłowymi przypadkami lub nierozpoznanymi polami, usługa ją odrzuci. Zostanie wyświetlona odpowiedź o błędzie wskazująca, że żądanie jest nieprawidłowe. Błąd będzie wyglądać mniej więcej tak:

Unmarshalling entity encountered error: unmarshalling type *v2024_02_01.ImageTemplate: struct field Properties: unmarshalling type *v2024_02_01.ImageTemplateProperties: struct field Optimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize, unknown field \"vmboot\". There is an issue with the syntax with the JSON template you are submitting. Please check the JSON template for syntax and grammar. For more information on the syntax and grammar of the JSON template, visit http://aka.ms/azvmimagebuildertmplref.

Komunikat o błędzie będzie zawierać informacje o "nieznanym polu" i przekierowuje Cię do oficjalnej dokumentacji: Tworzenie szablonu JSON szablonu narzędzia Azure Image Builder lub arm.

Uwaga

Odwołaj się do struktury Swagger narzędzia Azure Image Builder na potrzeby wywołań interfejsu API

Podczas wykonywania wywołań do usługi Azure Image Builder zawsze należy odwołać się do dokumentacji struktury Swagger, która służy jako ostateczne źródło prawdy dla specyfikacji interfejsu API usługi Azure Image Builder. Chociaż publiczna dokumentacja została zaktualizowana w celu uwzględnienia odpowiednich nazw liter i pól przed wydaniem interfejsu API, definicja struktury Swagger zawiera szczegółowe informacje o każdym interfejsie API AIB, aby upewnić się, że wykonywane wywołania usługi są poprawne.

Poniżej znajduje się lista zmian w dokumentacji, które zostały wprowadzone w celu dopasowania nazw pól w interfejsie API w wersji 2024-02-01:

W dokumentacji szablonu JSON szablonu tworzenie narzędzia Azure Image Builder Bicep lub ARM:

Zaktualizowane pola:

  • Zamieniono kilka wzmianek o vmbootvmBoot
  • Zamieniono jedną wzmiankę o imageVersionIDimageVersionId

Usunięto pole:

  • apiVersion: Zalecamy unikanie dołączania tego pola do żądań, ponieważ nie jest on jawnie określony w naszym interfejsie API, dlatego uwzględnienie go w szablonie JSON może prowadzić do błędów w kompilacji obrazu.

W dokumentacji opcji sieci narzędzia Image Builder maszyny wirtualnej platformy Azure:

Zaktualizowano pole:

  • Zamieniono jedną wzmiankę o VirtualNetworkConfigvnetConfig

Pola usunięte:

  • subnetNamevnetConfig w właściwości — to pole jest przestarzałe, a nowe pole jestsubnetId
  • resourceGroupNamevnetConfig w właściwości — to pole jest przestarzałe, a nowe pole jestsubnetId

Jak przypiąć do starszej wersji interfejsu API programu Azure Image Builder

Ważne zagadnienia dotyczące przypinania do starszych wersji interfejsu API

Przypinanie do starszej wersji interfejsu API programu Azure Image Builder może zapewnić zgodność z istniejącymi szablonami, ale nie jest to zalecane ze względu na następujące czynniki:

  • Ryzyko wycofania: starsze wersje interfejsu API mogą zostać ostatecznie przestarzałe.

  • Brakujące funkcje: przypinając do starszej wersji interfejsu API, pominięto najnowsze funkcje i ulepszenia wprowadzone w nowszych wersjach. Te ulepszenia często zwiększają wydajność, bezpieczeństwo i funkcjonalność.

Jeśli chcesz uniknąć wprowadzania zmian we właściwościach w szablonach obrazów ze względu na nowe reguły poufności przypadków, możesz przypiąć wywołania interfejsu API konstruktora obrazów maszyny wirtualnej platformy Azure do poprzedniej wersji interfejsu API. Dzięki temu można nadal korzystać ze znanego zachowania bez żadnych modyfikacji.

Aby zapewnić zgodność z istniejącymi szablonami, podczas tworzenia lub aktualizowania szablonu obrazu określ żądaną wersję interfejsu API (np. api-version=2022-07-01), dołączając api-version parametr w wywołaniu usługi. Przykład:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01

Testowanie kodu

Po przypięcie do starszej wersji interfejsu API przetestuj kod, aby sprawdzić, czy działa zgodnie z oczekiwaniami. Upewnij się, że istniejące szablony nadal działają poprawnie.

Listopad 2023

Narzędzie Azure Image Builder umożliwia izolowane kompilacje obrazów przy użyciu usługi Azure Container Instances w sposób etapowy. Oczekuje się, że wdrożenie zostanie ukończone na początku 2024 r. Istniejące szablony obrazów będą nadal działać i nie ma żadnych zmian w sposobie tworzenia lub tworzenia nowych szablonów obrazów.

Możesz obserwować inny zestaw przejściowych zasobów platformy Azure wyświetlany tymczasowo w przejściowej grupie zasobów, ale nie ma to wpływu na rzeczywiste kompilacje ani sposób interakcji z narzędziem Azure Image Builder. Aby uzyskać więcej informacji, zobacz izolowane kompilacje obrazów.

Ważne

Upewnij się, że subskrypcja jest zarejestrowana dla Microsoft.ContainerInstance dostawcy i nie ma żadnych zasad blokujących wdrażanie zasobów usługi Azure Container Instances. Upewnij się również, że limit przydziału jest dostępny dla zasobów usługi Azure Container Instances.

Kwiecień 2023

Dodano nową funkcję portalu dla narzędzia Azure Image Builder. Wyszukaj frazę "Szablony obrazów" w witrynie Azure Portal, a następnie kliknij pozycję "Utwórz". Możesz również rozpocząć pracę z tworzeniem i weryfikowaniem obrazów niestandardowych w portalu.

Wersje interfejsu API

Wersja 2024-02-01

Ulepszenia

  • Nowa autoRun właściwość, która umożliwia uruchamianie kompilacji obrazu podczas tworzenia lub aktualizowania szablonu. Aby uzyskać więcej informacji, zobacz Właściwości: autoUruchomienie.
  • Nowa managedResourceTags właściwość, która umożliwia stosowanie tagów do zasobów tworzonych przez usługę Azure Image Builder w przejściowej grupie zasobów podczas kompilacji obrazu. Aby uzyskać więcej informacji, zobacz Właściwości: managedResourceTags.
  • Nowa containerInstanceSubnetId właściwość, która umożliwia określenie podsieci, w której zostanie wdrożone wystąpienie kontenera platformy Azure dla izolowanych kompilacji. To pole może być określone tylko wtedy, gdy subnetId jest również określone i musi znajdować się w tej samej sieci wirtualnej co podsieć określona w .subnetId Aby uzyskać więcej informacji, zobacz Bring your own Build VM subnet and bring your own ACI subnet (Przynieś własną podsieć maszyny wirtualnej kompilacji) i bring your own ACI subnet (Przynieś własną podsieć maszyny wirtualnej kompilacji).
  • Dodano obsługę aktualizowania vmProfile właściwości, w tym następujących pól:
    • vmSize
    • osDiskSizeGB
    • userAssignedIdentities
    • vnetConfig
      • subnetId
      • containerInstanceSubnetId Aby uzyskać więcej informacji na vmProfile temat właściwości, zobacz vmProfile.

Interfejs API zmian w wersji 2024-02-01 wprowadza zmianę powodującą niezgodność, która wymusza ważność wielkości liter dla wszystkich pól. Oznacza to, że wielkość liter w żądaniach interfejsu API musi być zgodna dokładnie z oczekiwanym formatem. Jeśli wyślesz żądanie interfejsu API do interfejsu API usługi Azure Image Builder w wersji 2024-02-01 lub nowszej z nieprawidłowymi przypadkami lub nierozpoznanymi polami, usługa ją odrzuci. Zostanie wyświetlona odpowiedź o błędzie wskazująca, że żądanie jest nieprawidłowe. Aby uzyskać więcej informacji, zobacz Zmiana powodująca niezgodność: ważność wielkości liter.

Wersja 2023-07-01

Wkrótce

Obsługa aktualizowania celów dystrybucji galerii obliczeniowej platformy Azure.

Zmiany

Nowa errorHandling właściwość. Ta właściwość zapewnia użytkownikom większą kontrolę nad sposobem obsługi błędów podczas procesu tworzenia obrazu. Aby uzyskać więcej informacji, zobacz errorHandling

Wersja 2022-07-01

Ulepszenia

  • Dodano obsługę używania najnowszej wersji obrazu przechowywanej w galerii obliczeń platformy Azure jako źródła szablonu obrazu
  • Dodano versioning do obsługi generowania numerów wersji dla dystrybucji obrazów. Aby uzyskać więcej informacji, zobacz właściwości: przechowywanie wersji
  • Dodano obsługę konfiguracji dla poszczególnych regionów podczas dystrybucji do galerii obliczeń platformy Azure. Aby uzyskać więcej informacji, zobacz Distribute:targetRegions
  • Dodano nowy typ weryfikacji "Plik". Aby uzyskać więcej informacji, zobacz weryfikowanie właściwości
  • Dyski VHD można teraz dystrybuować do niestandardowego obiektu blob lub kontenera na niestandardowym koncie magazynu. Aby uzyskać więcej informacji, zobacz Distribute: VHD (Dystrybucja: wirtualny dysk twardy)
  • Dodano obsługę używania obrazu z galerii udostępnionej bezpośrednio jako źródła szablonu obrazu

Zmiany

  • replicationRegions jest teraz przestarzały dla dystrybucji galerii. Aby uzyskać więcej informacji, użyj regionów zreplikowanych w galerii
  • Dyski VHD można teraz dystrybuować do niestandardowego obiektu blob lub kontenera na niestandardowym koncie magazynu
  • targetRegions tablica dodana i zastosowana tylko do rozkładu typu "SharedImage". Aby uzyskać więcej informacji na temat targetRegionsusługi , zobacz Azure Compute Gallery
  • Dodano obsługę używania obrazu z galerii udostępnionej bezpośrednio jako źródła szablonu obrazu. Bezpośrednia galeria udostępniona jest obecnie dostępna w wersji zapoznawczej.
  • Wyzwalacze są teraz dostępne w publicznej wersji zapoznawczej w celu skonfigurowania automatycznych kompilacji obrazów. Aby uzyskać więcej informacji, zobacz Jak używać wyzwalaczy AIB

Wersja 2022-02-14

Ulepszenia

Wersja 2021-10-01

Zmiana powodująca niezgodność

Interfejs API w wersji 2021-10-01 wprowadza zmianę schematu błędów, który będzie częścią każdej przyszłej wersji interfejsu API. Jeśli masz jakiekolwiek automatyzacje narzędzia Image Builder maszyny wirtualnej platformy Azure, pamiętaj o nowych danych wyjściowych błędów podczas przełączania się do interfejsu API w wersji 2021-10-01 lub nowszej. Zalecamy, aby po przełączeniu się do najnowszej wersji interfejsu API nie przywrócić starszej wersji, ponieważ konieczne będzie ponowne zmianę automatyzacji w celu utworzenia wcześniejszego schematu błędów. Nie przewidujemy ponownego zmiany schematu błędów w przyszłych wersjach.

Dane wyjściowe błędu dla wersji 2020-02-14 i starszych
{ 
  "code": "ValidationFailed",
  "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template." 
} 
Dane wyjściowe błędu dla wersji 2021-10-01 lub nowszej
{ 
  "error": {
    "code": "ValidationFailed", 
    "message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review  http://aka.ms/azvmimagebuildertmplref  for details on fields requirements in the Image Builder Template." 
  }
}

Ulepszenia

Wersja 2020-02-14

Ulepszenia

  • Dodano obsługę tworzenia obrazów z następujących źródeł:
    • Obraz zarządzany
    • Azure Compute Gallery
    • Repozytorium obrazów platformy (w tym plan zakupu obrazu platformy)
  • Dodano obsługę następujących dostosowań:
    • Powłoka (Linux): skrypt lub wbudowany
    • PowerShell (Windows): skrypt lub wbudowany, uruchom podwyższony poziom uprawnień, uruchom jako system
    • Plik (Linux i Windows)
    • Ponowne uruchamianie systemu Windows (Windows)
    • Windows Update (Windows): kryteria wyszukiwania, filtry i limit aktualizacji
  • Dodano obsługę następujących typów dystrybucji:
    • Wirtualny dysk twardy (wirtualny dysk twardy)
    • Obraz zarządzany
    • Azure Compute Gallery
  • Inne funkcje:
    • Dodano obsługę klientów do korzystania z własnej sieci wirtualnej
    • Dodano obsługę klientów w celu dostosowania maszyny wirtualnej kompilacji (rozmiar maszyny wirtualnej, rozmiar dysku systemu operacyjnego)
    • Dodano obsługę przypisanego przez użytkownika Instalatora Microsoft Windows (MSI) (w przypadku kroków dostosowywania/dystrybucji)
    • Dodano obsługę obrazów gen2

Interfejsy API w wersji zapoznawczej

Następujące interfejsy API są przestarzałe, ale nadal obsługiwane:

  • Wersja 2019-05-01-preview

Następne kroki

Dowiedz się więcej o konstruktorze obrazów maszyn wirtualnych.