Udostępnij przez


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.

Aktualizacje

Wrzesień 2024 r.

Automatyczne tworzenie obrazów za pośrednictwem wyzwalaczy jest dezaktywowane, jeśli kompilacja szablonu obrazu kończy się niepowodzeniem wielokrotnie. Ta dezaktywacja pozwala uniknąć niepotrzebnych błędów kompilacji.

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

To zachowanie jest takie samo niezależnie od wersji interfejsu API używanej dla zasobu szablonu obrazu.

Maj 2024 r.

Zmiana powodująca niezgodność: czułość na wielkość liter

Od 21 maja 2024 r. interfejs API dla tworzenia obrazów maszyn wirtualnych w wersji 2024-02-01 i nowszych będzie uwzględniać rozróżnienie wielkości liter dla wszystkich pól. Wielkość liter w żądaniach interfejsu API musi być zgodna dokładnie z oczekiwanym formatem.

Ważne

Jeśli jesteś istniejącym użytkownikiem programu VM Image Builder, ta zmiana nie ma wpływu na istniejące zasoby. Wymuszanie poufności przypadków dotyczy tylko nowo utworzonych zasobów korzystających z interfejsu API w wersji 2024-02-01 lub nowszej. Istniejące zasoby nadal działają zgodnie z oczekiwaniami bez żadnych zmian.

Jeśli wystąpią jakiekolwiek problemy związane z rozróżnianiem wielkości liter, zapoznaj się ze zaktualizowaną dokumentacją VM Image Builder API, aby uzyskać wskazówki.

Wcześniej interfejs API Kreatora Obrazów Maszyn Wirtualnych był bardziej elastyczny pod względem wielkości liter. W przyszłości precyzja ma kluczowe znaczenie. 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 ma nazwę vmBoot, należy użyć wartości vmBoot (nie VMBoot lub vmboot).

Jeśli wyślesz żądanie interfejsu API do interfejsu API konstruktora obrazów maszyn wirtualnych w wersji 2024-02-01 lub nowszej z nieprawidłową wielkością liter lub nierozpoznanymi polami, usługa je odrzuci. Zostanie wyświetlona odpowiedź o błędzie wskazująca, że żądanie jest nieprawidłowe. Błąd wygląda podobnie do następującego przykładu:

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 wspomina o "nieznanym polu" i przekierowuje Cię do oficjalnej dokumentacji: Utwórz szablon w Azure VM Image Builder za pomocą Bicep lub Azure Resource Manager w formacie JSON.

Uwaga

Podczas wykonywania wywołań interfejsu API do usługi VM Image Builder zawsze zapoznaj się z dokumentacją Swagger. Ta dokumentacja służy jako ostateczne źródło prawdy dla specyfikacji interfejsu API konstruktora obrazów maszyny wirtualnej. Chociaż dokumentacja publiczna została zaktualizowana, aby uwzględnić odpowiednią wielką literę i nazwy pól przed wydaniem interfejsu API, definicja Swagger zawiera dokładne szczegóły dotyczące każdego interfejsu API Konstruktor Obrazów Maszyn Wirtualnych. Te szczegóły pomagają upewnić się, że poprawnie wykonujesz połączenia do usługi.

Następujące zmiany w dokumentacji zostały wprowadzone w celu dopasowania nazw pól do interfejsu API w wersji 2024-02-01.

W dokumentacji Tworzenie obrazów maszyn wirtualnych Azure za pomocą Bicep lub szablonów JSON Azure Resource Manager:

  • Zaktualizowane pola:

    • Zamieniono kilka wzmianek o vmboot na vmBoot.
    • Zamieniono jedną wzmiankę o obiekcie imageVersionID na imageVersionId.
  • Usunięto pole:

    • apiVersion: Zalecamy unikanie dołączania tego pola do żądań, ponieważ nie jest on jawnie określony w interfejsie API. Dołączenie go do szablonu 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 obiekcie VirtualNetworkConfig na vnetConfig.
  • Pola usunięte:

    • subnetName w właściwości vnetConfig: to pole jest przestarzałe. Nowe pole to subnetId.
    • resourceGroupName w właściwości vnetConfig: to pole jest przestarzałe. Nowe pole to subnetId.

Przypinanie do starszej wersji interfejsu API programu Image Builder maszyny wirtualnej

Jeśli chcesz uniknąć wprowadzania zmian we właściwościach szablonów obrazów z powodu nowych reguł dotyczących wielkości liter, możesz ustalić wywołania interfejsu API Azure VM Image Builder do poprzedniej wersji interfejsu API. Przypinanie to umożliwia dalsze korzystanie ze znanego sposobu działania bez żadnych modyfikacji.

Ważne

Przypinanie do starszej wersji interfejsu API programu Image Builder maszyny wirtualnej może zapewnić zgodność z istniejącymi szablonami, ale nie zalecamy jej z powodu następujących czynników:

  • Starsze wersje interfejsu API mogą być ostatecznie przestarzałe.
  • Przypinając do starszej wersji interfejsu API, przegapisz najnowsze funkcje i ulepszenia wprowadzone w nowszych wersjach. Te ulepszenia często zwiększają wydajność, bezpieczeństwo i funkcjonalność.

Aby zapewnić zgodność z istniejącymi szablonami podczas tworzenia lub aktualizowania szablonu obrazu, określ żądaną wersję interfejsu API, uwzględniają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

Kreator obrazów VM umożliwia budowanie izolowanych obrazów przez Azure Container Instances w sposób etapowy. Wdrożenie ma zakończyć się do początku 2024 roku. Istniejące szablony obrazów nadal działają i nie ma żadnych zmian w sposobie tworzenia ani tworzenia nowych szablonów obrazów.

Możesz zauważyć inny zestaw tymczasowych zasobów platformy Azure pojawiających się w grupie zasobów tymczasowych. Nie ma to wpływu na rzeczywiste kompilacje ani sposób interakcji z konstruktorem obrazów maszyn wirtualnych. Aby uzyskać więcej informacji, zobacz izolowane kompilacje obrazów.

Aby użyć kompilacji izolowanych obrazów, upewnij się, że:

  • Twoja subskrypcja jest zarejestrowana dla dostawcy Microsoft.ContainerInstance .
  • Nie ma żadnych zasad blokujących wdrażanie zasobów usługi Azure Container Instances.
  • Limit przydziału jest dostępny dla zasobów usługi Azure Container Instances.

Kwiecień 2023

Dodano nową funkcję portalu dla konstruktora obrazów maszyny wirtualnej. Wyszukaj pozycję Szablony obrazów w witrynie Azure Portal, a następnie wybierz pozycję Utwórz. Możesz również użyć tej konfiguracji szablonu , aby rozpocząć tworzenie i weryfikowanie obrazów niestandardowych w portalu.

Wersje interfejsu API

Wersja 2024-02-01

Ulepszenia

  • Możesz użyć nowej autoRun właściwości, aby uruchomić kompilację obrazu podczas tworzenia lub aktualizowania szablonu. Aby uzyskać więcej informacji, zobacz Właściwości: autoRun.

  • Za pomocą nowej managedResourceTags właściwości można zastosować tagi do zasobów tworzonych przez usługę VM Image Builder w przejściowej grupie zasobów podczas kompilacji obrazu. Aby uzyskać więcej informacji, zobacz Właściwości: managedResourceTags.

  • Za pomocą nowej containerInstanceSubnetId właściwości można określić podsieć, w której zostaną wdrożone wystąpienia kontenerów platformy Azure dla izolowanych kompilacji obrazów. To pole można określić tylko wtedy, gdy określisz wartość subnetId. To pole musi znajdować się w tej samej sieci wirtualnej co podsieć określona w pliku subnetId. Aby uzyskać więcej informacji, zobacz Używanie własnej podsieci maszyny wirtualnej kompilacji i używanie własnej podsieci instancji kontenerów.

  • Ta wersja dodaje 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 temat właściwości vmProfile, zobacz vmProfile.

Zmiany

Interfejs API w wersji 2024-02-01 wprowadza zmianę, która wprowadza niekompatybilność, wymuszając rozróżnianie wielkości liter dla wszystkich pól. Wielkość liter w żądaniach interfejsu API musi być zgodna dokładnie z oczekiwanym formatem. Jeśli wyślesz żądanie do interfejsu API VM Image Builder w wersji 2024-02-01 lub nowszej z niewłaściwą wielkością liter lub nierozpoznanymi polami, usługa je odrzuci. Zostanie wyświetlona odpowiedź o błędzie wskazująca, że żądanie jest nieprawidłowe. Aby uzyskać więcej informacji, zobacz Krytyczna zmiana: czułość na wielkość liter w tym artykule.

Wersja 2023-07-01

Zmiany

Nowa errorHandling właściwość zapewnia 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

  • Ta wersja dodaje obsługę używania najnowszej wersji obrazu przechowywanej w galerii obliczeń platformy Azure jako źródła szablonu obrazu.
  • Ta wersja dodaje versioning do obsługi generowania numerów wersji dla dystrybucji obrazów. Aby uzyskać więcej informacji, zobacz Właściwości: versioning.
  • Ta wersja dodaje obsługę konfiguracji dla poszczególnych regionów podczas dystrybucji do galerii obliczeń platformy Azure. Aby uzyskać więcej informacji, zobacz Distribute: targetRegions (Dystrybucja: targetRegions).
  • Ta wersja dodaje nowy File typ weryfikacji. Aby uzyskać więcej informacji, zobacz Właściwości: validate.
  • Teraz możesz dystrybuować wirtualne dyski twarde (VHD) do niestandardowego obiektu blob lub kontenera na niestandardowym koncie przechowywania danych. Aby uzyskać więcej informacji, zobacz Distribute: VHD.
  • Ta wersja dodaje obsługę używania obrazu z galerii udostępnionej bezpośrednio jako źródła szablonu obrazu.

Zmiany

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. Jeśli wrócisz, musisz ponownie zmienić automatyzację, aby utworzyć wcześniejszy schemat błędów. Nie spodziewamy się, że schemat błędu zmieni się ponownie w przyszłych wersjach.

Komunikat o błędzie dla wersji 2020-02-14 i wcześniejszych
{ 
  "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:
    • VHD
    • Obraz zarządzany
    • Azure Compute Gallery
  • Dodano wsparcie dla klientów do korzystania z własnej sieci wirtualnej.
  • Dodano możliwość dostosowywania maszyny wirtualnej (rozmiar maszyny wirtualnej, rozmiar dysku systemu operacyjnego) dla klientów.
  • Dodano obsługę tożsamości zarządzanych przypisanych przez użytkownika (w przypadku kroków dostosowywania/dystrybucji).
  • Dodano obsługę obrazów generacji 2.

API w wersji podglądowej

Następujący interfejs API jest przestarzały, ale nadal obsługiwany:

  • Wersja 2019-05-01-preview