Общие сведения о реестрах модулей
В этом блоке вы узнаете, что такое реестры Bicep и почему они полезны для совместного использования кода Bicep. Вы также узнаете, как создать реестр для своей организации.
Потребность в совместном использовании модулей Bicep
При работе с Bicep часто используются аналогичные ресурсы. Кроме того, обычно создаются сочетания ресурсов, которые развертываются в нескольких местах. Модули Bicep удобно использовать для создания пригодных для повторного использования файлов Bicep. Каждый модуль обычно определяет набор ресурсов с предопределенной конфигурацией.
Одним из преимуществ использования модулей является то, что вы можете поделиться ими с другими пользователями и воспользоваться преимуществами модулей которыми с вами поделились другие. Например, предположим, вы потратили время на сборку и тестирование файла Bicep для развертывания набора ресурсов, которые часто используются вместе. При совместном использовании файла в качестве модуля Bicep ваши коллеги смогут использовать этот модуль для быстрого развертывания тех же ресурсов.
Реестр Bicep — это расположение для хранения и совместного использования модулей. Любой пользователь может создать собственный реестр. В будущем корпорация Майкрософт планирует обеспечить поддержку публикации большего количества типов содержимого Bicep в реестрах в дополнение к модулям.
Совет
Майкрософт поддерживает общедоступный реестр модулей Bicep. Общедоступный реестр содержит модули, которые могут использовать все пользователи в сообществе. Со временем общедоступный реестр будет содержать модули, которые могут помочь достичь некоторых распространенных сценариев в Bicep.
В этом учебном модуле основное внимание уделяется совместному использованию собственных модулей с помощью частных реестров. В сводном уроке есть ссылка на дополнительные сведения о общедоступном реестре.
Сравнение реестров со спецификациями шаблонов
Вы можете сохранить шаблон Azure Resource Manager (шаблон ARM) в виде спецификации шаблона. Спецификация шаблона — это способ обеспечения повторного и совместного использования ваших шаблонов в организации.
Как модули, хранящиеся в реестрах Bicep, так и спецификации шаблонов позволяют повторно использовать код развертывания. Но они оптимизированы для различных целей:
- Модули Bicep предназначены для объединения в более крупное развертывание. Спецификации шаблонов предназначены для развертывания в виде полного шаблона. Спецификации шаблонов можно развернуть с помощью портала Azure, а также таких инструментов, как Azure CLI и Azure PowerShell. Однако если вы создали спецификацию шаблона, Bicep также позволяет при необходимости использовать ее в качестве модуля.
- Спецификации шаблонов хранятся в Azure в виде ресурсов. Модули в реестрах хранятся в виде артефактов контейнера.
- Спецификации шаблонов обеспечивают возможности управления доступом. При работе с частным реестром необходимо управлять доступом к модулям другими способами. Дополнительные сведения об управлении доступом см. в следующем уроке.
При выборе между спецификациями шаблонов и модулями Bicep можно придерживаться следующего эмпирического правила: если шаблон будет развертываться в существующем виде по всей организации, вероятно, подойдут спецификации шаблонов. Но если вы планируете использовать этот шаблон в нескольких родительских шаблонах, то лучше выбрать модули Bicep. Реестр — это хороший способ совместного использования модулей.
Частные реестры
Реестры Bicep построены на основе технологии, именуемой реестры контейнеров.
Если ваша организация использует Kubernetes или другую технологию контейнеров, возможно, вы уже знакомы с реестрами. Однако вам не нужно использовать контейнеры или Kubernetes для работы с Bicep. Реестры предоставляют универсальный и удобный способ хранения и предоставления общего доступа к артефактам. Их можно рассматривать как аналогии учетных записей хранения.
В настоящее время Bicep поддерживает Реестр контейнеров Azure. В будущем корпорация Майкрософт планирует обеспечить поддержку других реестров, таких как Docker Hub.
Реестр контейнеров Azure предоставляет несколько уровней служб с разными возможностями и ограничениями. При подготовке собственного реестра необходимо выбрать уровень, соответствующий вашим требованиям. В сводном уроке есть ссылки на дополнительные сведения.
Вскоре вы научитесь публиковать модули в реестре.
Совет
В Реестре контейнеров Azure модуль называется репозиторием. Не путайте его с репозиторием Git. Эти термины одинаковые, но смысл у них разный.
Управление доступом
Так как Реестр контейнеров Azure предоставляет частный реестр для организации, вы можете контролировать предоставляемый к нему доступ. Реестр контейнеров Azure предоставляет несколько вариантов управления доступом, включая идентификатор и ключи Microsoft Entra, которые вы выдаете отдельным пользователям.
При работе с Bicep самый простой подход — использовать проверку подлинности Microsoft Entra. Bicep автоматически обнаруживает удостоверение Microsoft Entra, которое вы используете в Azure CLI или Azure PowerShell, поэтому вам не нужно входить снова. Вы увидите, как работает проверка подлинности в следующем упражнении. При использовании реестра модулей Bicep из конвейера используется специальный тип удостоверения, называемый субъектом-службой.
Вы можете отдельно управлять разрешениями на запись модулей в реестр и разрешениями на чтение модулей.