Новые возможности Конструктора образов виртуальных машин Azure
Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы
В этой статье содержатся все основные изменения API и обновления компонентов для службы построителя образов виртуальных машин Azure (AIB).
Обновления
Сентябрь 2024 г.
Автоматическое создание образа с помощью триггеров будет деактивировано, если сборка шаблона образа завершилась несколько раз подряд, чтобы избежать ненужных сбоев сборки.
Вы по-прежнему можете создать шаблон образа вручную. После успешной сборки вручную автоматические триггеры будут повторно активированы.
Обратите внимание, что это поведение совпадает с версией API, используемой для ресурса шаблона образа.
Май 2024 г.
Критическое изменение: конфиденциальность регистра
Начиная с 21 мая 2024 г. API Конструктора образов виртуальных машин Azure версии 2024-02-01 и более поздних версий будет применять конфиденциальность регистра для всех полей. Это означает, что заглавная буква в запросах API должна точно соответствовать ожидаемому формату.
Внимание
Важное примечание для существующих пользователей построителя образов Azure
Если вы являетесь существующим пользователем построителя образов виртуальных машин Azure, убедитесь, что это изменение не повлияет на существующие ресурсы. Применение конфиденциальности регистра применяется только к вновь созданным ресурсам с помощью API версии 2024-02-01 и более поздних версий. Существующие ресурсы будут продолжать функционировать должным образом без каких-либо изменений.
Если возникают какие-либо проблемы, связанные с конфиденциальности регистра, ознакомьтесь с обновленной документацией по API Конструктора образов Azure.
Ранее API Конструктора образов Azure был более простительно в плане дела, но двигаться вперед, точность имеет решающее значение. При вызове API убедитесь, что для имен полей, параметров и значений используется правильная заглавная буква. Например, если поле называется vmBoot, необходимо использовать "vmBoot" (не "VMBoot" или "vmboot").
Если вы отправляете запрос API в API Конструктора образов Azure версии 2024-02-01 и более поздних версий с неправильным случаем или нераспознанными полями, служба отклонит ее. Вы получите ответ об ошибке, указывающий, что запрос недопустим. Ошибка будет выглядеть примерно так:
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.
Сообщение об ошибке будет упоминать "неизвестное поле" и направить вас в официальную документацию: создайте шаблон JSON шаблона Bicep или шаблона ARM для построителя образов Azure.
Примечание.
Справочник по Swagger Конструктора образов Azure для вызовов API
При вызове службы Конструктора образов Azure всегда ссылаться на документацию Swagger, которая служит окончательным источником истины для спецификаций API Конструктора образов Azure. Хотя общедоступная документация была обновлена, чтобы включить правильные буквы и имена полей перед выпуском API, определение Swagger содержит точные сведения о каждом API AIB, чтобы убедиться, что вы выполняете вызовы к службе правильно.
Ниже приведен список изменений документации, которые были сделаны для сопоставления имен полей в API версии 2024-02-01:
В документации по созданию шаблона JSON шаблона JSON для построителя образов Azure или ШАБЛОНА ARM:
Поля обновлены:
- Заменено несколько упоминаний
vmboot
vmBoot
- Заменено одним упоминанием
imageVersionID
imageVersionId
Поле удалено:
apiVersion
: рекомендуется избегать включения этого поля в запросы, так как он не указан явным образом в нашем API, поэтому его включение в шаблон JSON может привести к ошибкам в сборке образа.
В документации по сетевым параметрам построителя образов виртуальных машин Azure:
Обновлено поле:
- Заменено одним упоминанием
VirtualNetworkConfig
vnetConfig
Поля удалены:
subnetName
в свойствеvnetConfig
— это поле устарело, а новое поле —subnetId
resourceGroupName
в свойствеvnetConfig
— это поле устарело, а новое поле —subnetId
Закрепление более старой версии API построителя образов Azure
Важно учитывать закрепление в старых версиях API
Закрепление в более старой версии API построителя образов Azure может обеспечить совместимость с существующими шаблонами, но это не рекомендуется из-за следующих факторов:
Риск нерекомендуемого использования: старые версии API в конечном итоге могут быть нерекомендуемыми.
Отсутствующие функции: закрепление до более старой версии API, вы пропустите последние функции и улучшения, появившиеся в новых версиях. Эти улучшения часто повышают производительность, безопасность и функциональность.
Если вы хотите избежать внесения изменений в свойства шаблонов изображений из-за новых правил конфиденциальности регистра, вы можете закрепить вызовы API построителя образов виртуальных машин Azure к предыдущей версии API. Это позволяет продолжать использовать знакомое поведение без каких-либо изменений.
Чтобы обеспечить совместимость с существующими шаблонами, при создании или обновлении шаблона образа укажите нужную версию API (например, api-version=2022-07-01), включив api-version
параметр в вызов службы. Пример:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01
Тестирование кода
После закрепления в старой версии API проверьте код, чтобы убедиться, что он работает должным образом. Убедитесь, что существующие шаблоны продолжают работать правильно.
Ноябрь 2023 г.
Построитель образов Azure включает изолированные сборки образов с помощью Экземпляры контейнеров Azure поэтапно. Ожидается, что развертывание будет завершено к началу 2024 года. Существующие шаблоны изображений будут продолжать работать, и нет изменений в том, как вы создаете или создаете новые шаблоны изображений.
Возможно, в промежуточной группе ресурсов временно отображается другой набор временных ресурсов Azure, но это не влияет на фактические сборки или способ взаимодействия с Конструктором образов Azure. Дополнительные сведения см. в разделе "Изолированные сборки образов".
Внимание
Убедитесь, что ваша подписка зарегистрирована для Microsoft.ContainerInstance
поставщика, и политики не блокируют развертывание Экземпляры контейнеров Azure ресурсов. Кроме того, убедитесь, что квота доступна для Экземпляры контейнеров Azure ресурсов.
Апрель 2023 г.
Добавлена новая функция портала для построителя образов Azure. Найдите "Шаблоны изображений" в портал Azure, а затем нажмите кнопку "Создать". Вы также можете приступить к созданию и проверке пользовательских образов на портале.
Выпуски API
Версия 2024-02-01
Улучшения
- Новое
autoRun
свойство, позволяющее запускать сборку образа при создании или обновлении шаблона. Дополнительные сведения см. в разделе "Свойства: автозапуск". - Новое
managedResourceTags
свойство, которое позволяет применять теги к ресурсам, создаваемым службой Конструктора образов Azure в промежуточной группе ресурсов во время сборки образа. Дополнительные сведения см. в разделе "Свойства: managedResourceTags". - Новое
containerInstanceSubnetId
свойство, позволяющее указать подсеть, в которой будет развернут экземпляр контейнера Azure для изолированных сборок. Это поле может быть указано только в том случае, еслиsubnetId
он также указан и должен находиться в той же виртуальная сеть, что и подсеть, указанная вsubnetId
. Дополнительные сведения см. в статье "Создание подсети виртуальной машины сборки" и создание собственной подсети ACI. - Добавлена поддержка обновления
vmProfile
свойства, включая следующие поля:vmSize
osDiskSizeGB
userAssignedIdentities
vnetConfig
subnetId
containerInstanceSubnetId
Дополнительные сведения о свойстве см. вvmProfile
vmProfile.
Изменения API 2024-02-01 представляет критическое изменение, которое обеспечивает конфиденциальность регистра для всех полей. Это означает, что заглавная буква в запросах API должна точно соответствовать ожидаемому формату. Если вы отправляете запрос API в API Конструктора образов Azure версии 2024-02-01 и более поздних версий с неправильным случаем или нераспознанными полями, служба отклонит ее. Вы получите ответ об ошибке, указывающий, что запрос недопустим. Дополнительные сведения см. в разделе "Критическое изменение": конфиденциальность регистра.
Версия 2023-07-01
Ожидается в ближайшее время
Поддержка обновления целевых объектов распространения коллекции вычислений Azure.
Изменения
Новое errorHandling
свойство. Это свойство предоставляет пользователям больше контроля над обработкой ошибок во время процесса создания образа. Дополнительные сведения см. в разделе errorHandling
Версия 2022-07-01
Улучшения
- Добавлена поддержка использования последней версии образа, хранящейся в коллекции вычислений Azure в качестве источника для шаблона образа.
- Добавлена
versioning
поддержка создания номеров версий для дистрибутивов образов. Дополнительные сведения см. в свойствах : управление версиями - Добавлена поддержка конфигурации для каждого региона при распространении в коллекцию вычислений Azure. Дополнительные сведения см. в разделе "Распространение:targetRegions"
- Добавлен новый тип проверки "Файл". Дополнительные сведения см. в разделе "Проверка свойств"
- Теперь виртуальные жесткие диски можно распространять в пользовательский большой двоичный объект или контейнер в пользовательской учетной записи хранения. Дополнительные сведения см. в разделе "Распространение: VHD"
- Добавлена поддержка использования образа Прямой общей коллекции в качестве источника для шаблона образа.
Изменения
replicationRegions
Теперь не рекомендуется использовать для дистрибутивов коллекций. Дополнительные сведения см. в коллекциях с репликацией регионов- Теперь виртуальные жесткие диски можно распространять в пользовательский большой двоичный объект или контейнер в пользовательской учетной записи хранения.
targetRegions
массив добавлен и применен только к типу SharedImage. Дополнительные сведения см. вtargetRegions
коллекции вычислений Azure- Добавлена поддержка использования образа Прямой общей коллекции в качестве источника для шаблона образа. Прямая общая коллекция сейчас доступна в предварительной версии.
- Триггеры теперь доступны в общедоступной предварительной версии для настройки автоматических сборок образов. Дополнительные сведения см. в разделе "Использование триггеров AIB"
Версия 2022-02-14
Улучшения
- Поддержка проверки
- Оболочка (Linux): скрипт или встроенный
- PowerShell (Windows): скрипт или встроенный, запуск с повышенными привилегиями, запуск от имени системы
- Режим "Только проверка источника"
- Настраиваемая поддержка промежуточной группы ресурсов
Версия 2021-10-01
Критические изменения
В API версии 2021-10-01 внесены изменения в схему ошибок, которая станет часть каждого будущего выпуска API. При наличии автоматизаций Конструктора образов виртуальных машин Azure обратите внимание на новый вывод ошибок при переходе на API версии 2021-10-01 или более поздней. После перехода на последнюю версию API не рекомендуется возвращаться к более ранней версии, потому что вам придется снова изменить автоматизацию, чтобы создать более раннюю схему ошибок. Мы не планируем снова менять схему ошибок в будущих выпусках.
Вывод ошибок для версии 2020-02-14 и более ранних версий
{
"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."
}
Вывод ошибок для версии 2021-10-01 и более поздних версий
{
"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."
}
}
Улучшения
- Добавлена поддержка MSI для виртуальной машины сборки.
- Добавлена поддержка настройки размера для виртуальной машины прокси-сервера.
Версия 2020-02-14
Улучшения
- Добавлена поддержка создания образов из следующих источников:
- Управляемый образ
- Коллекция вычислений Azure
- Репозиторий образов платформы (включая план покупки образов платформы)
- Добавлена поддержка следующих настроек:
- Оболочка (Linux): скрипт или встроенный
- PowerShell (Windows): скрипт или встроенный, запуск с повышенными привилегиями, запуск от имени системы
- Файл (Linux и Windows)
- Перезапуск Windows (Windows)
- Обновления Windows (Windows): критерии поиска, фильтры и лимит обновлений
- Добавлена поддержка следующих типов рассылки:
- VHD (виртуальный жесткий диск)
- Управляемый образ
- Коллекция вычислений Azure
- Другие функции:
- Добавлена поддержка для клиентов использовать собственную виртуальную сеть
- Добавлена поддержка для клиентов настраивать сборку виртуальной машины (размер виртуальной машины, размер диска операционной системы)
- Добавлена поддержка для назначаемого пользователем установщика Microsoft Windows (MSI) (для шагов настройки/распределения)
- Добавлена поддержка для изображений Gen2
API предварительной версии
Следующие API являются устаревшими, но по-прежнему поддерживаются:
- Версия 2019-05-01 (предварительная)
Следующие шаги
Узнайте больше о Конструкторе образов виртуальных машин.