Добавление ресурсов Azure Resource Manager (ARM) в версию конструктора сетевых служб Azure Service Manager (AOSM) (NSDV)
Диспетчер служб Azure (AOSM) позволяет объединять версии определения сетевых функций (NFDV) и шаблоны Azure Resource Manager (ARM) в версию конструктора сетевой службы (NSDV). NSDV становится одним шаблоном для сетевой службы, содержащей как сетевую функцию, так и инфраструктуру Azure, которую требуется запустить. Затем оператор может развернуть сетевую функцию (NF) и ее инфраструктуру в одной операции.
В этом руководстве вы узнаете, как использовать расширение AOSM Azure CLI для создания и публикации NSDV, содержащего как контейнерную сетевую функцию (CNF), так и ресурс Azure Resource Manager (ARM).
Подключение — это многоэтапный процесс. После выполнения предварительных требований вы будете использовать расширение AOSM Azure CLI для следующих целей:
- Измените существующий входной файл NSDV для ранее подключенного CNF.
- Заполните входной файл сведениями, необходимыми для создания определений ресурсов AOSM.
- Создайте файлы BICEP, определяющие группу и версию сетевой службы (NSDV) на основе входного файла и шаблона ARM.
- Опубликуйте NSDV и отправьте шаблон ARM в хранилище артефактов (управляемые AOSM Реестр контейнеров Azure (ACR).
В этом руководстве используется Azure Key Vault (AKV) в качестве примера ресурса Azure, однако любой ресурс Azure можно подключить, выполнив те же действия. В этой статье в качестве примера NF используется CNF; Процесс идентичен функции виртуализированной сети (VNF) помимо незначительных различий во входном файле NSDV.
Необходимые компоненты
- Вы включили AOSM в подписке Azure.
- Если cnF предназначен для запуска в Операторе Azure Nexus, у вас есть доступ к экземпляру Оператора Azure Nexus и завершены предварительные требования для развертывания рабочей нагрузки.
- Вы включили CNF и создали входной файл с
az aosm nsd generate-config
файлом, доступным на локальном хранилище компьютера, с которого выполняется интерфейс командной строки.
Настройка разрешений
- Для создания группы ресурсов или существующей группы ресурсов, в которой у вас есть роль участника, требуется роль участника для подписки.
- Вам требуются
Contributor
назначения ролей вAcrPush
подписке, которая будет содержать управляемое хранилище артефактов AOSM.- Ваша политика компании может предотвратить наличие разрешений на область подписки. Параметр
--no-subscription-permissions
, доступный в командеaz aosm nsd publish
, использует строго область разрешения, производные от службы AOSM, для оркестрации двухфакторной копии на локальный компьютер и с него. Это двухфакторная копия медленнее, но не требует область разрешений подписки.
- Ваша политика компании может предотвратить наличие разрешений на область подписки. Параметр
Шаблоны ARM
- У вас должен быть шаблон ARM, определяющий ресурсы Azure, которые необходимо развернуть в локальном хранилище компьютера, с которого выполняется интерфейс командной строки.
- Все параметры, которые необходимо предоставить оператору, который будет развертывать NSDV, должен быть определен как параметры в шаблоне ARM.
Примечание.
Расширение Az CLI AOSM не поддерживает подключение ресурсов Azure, определенных в шаблоне BICEP. Однако можно использовать bicep build
команду для преобразования файлов BICEP в шаблоны ARM. Подробные сведения и инструкции см . в документации по интерфейсу командной строки bicep.
Обработчик Helm и Docker
- Установите интерфейс командной строки Helm на хост-компьютере. Необходимо использовать Helm версии 3.8.0 или более поздней версии.
- Установите Docker на хост-компьютере.
Скачивание и установка Azure CLI
Чтобы установить Azure CLI локально, см. инструкции по установке Azure CLI.
Чтобы войти в Azure CLI, используйте az login
команду и выполните запросы, отображаемые в терминале, чтобы завершить проверку подлинности. Дополнительные параметры входа см. в статье "Вход с помощью Azure CLI".
Примечание.
Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker. Вы также можете использовать среду Bash в облачной оболочке Azure. Дополнительные сведения см. в статье "Запуск Cloud Shell для использования среды Bash в Azure Cloud Shell".
Установка расширения интерфейса командной строки AOSM
Для расширения AOSM Az CLI требуется версия 2.54.0 или более поздняя версия Azure CLI.
- Запустите
az version
, чтобы просмотреть установленные версии и зависимые библиотеки. - Выполните
az upgrade
обновление до текущей версии Azure CLI.
Установите расширение ИНТЕРФЕЙСА командной строки AOSM с помощью следующей команды:
az extension add --name aosm
Создание группы разработки и версии сетевой службы
Откройте входной файл NSDV, созданный при подключении CNF.
Примечание.
Вы можете создать входной файл с помощью
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
команды, если у вас нет входного файла NSDV из подключения CNF.Введите необходимые значения с помощью входного файла строковый комментарий. В этом примере показан входной файл расширения Az CLI AOSM для вымышленного NSDV Contoso, который можно использовать для развертывания вымышленного cnF Contoso на кластере Nexus Kubernetes с подключением Arc и экземпляре AKV в расположении Azure.
{ // Azure location to use when creating resources e.g uksouth "location": "eastus", // Name of the Publisher resource you want your definition published to. // Will be created if it does not exist. "publisher_name": "contoso", // Resource group for the Publisher resource. // Will be created if it does not exist. "publisher_resource_group_name": "contoso", // Name of the ACR Artifact Store resource. // Will be created if it does not exist. "acr_artifact_store_name": "contoso-artifact-store", // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist. "nsd_name": "contoso-nsd", // Version of the NSD to be created. This should be in the format A.B.C "nsd_version": "1.0.0", // Optional. Description of the Network Service Design Version (NSDV). "nsdv_description": "An NSD that deploys the onboarded contoso-cnf NFD and an Azure Key Vault", // List of Resource Element Templates (RETs). // There must be at least one NF RET. // ArmTemplate RETs are optional. Delete if not required. "resource_element_templates": [ { // Type of Resource Element. Either NF or ArmTemplate "resource_element_type": "NF", "properties": { // The name of the existing publisher for the NSD. "publisher": "contoso", // The resource group that the publisher is hosted in. "publisher_resource_group": "contoso", // The name of the existing Network Function Definition Group to deploy using this NSD. // This will be the same as the NF name if you published your NFDV using the CLI. "name": "contoso-cnf-nfd", // The version of the existing Network Function Definition to base this NSD on. // This NSD will be able to deploy any NFDV with deployment parameters compatible with this version. "version": "1.0.0", // The region that the NFDV is published to. "publisher_offering_location": "eastus", // Type of Network Function. Valid values are 'cnf' or 'vnf'. "type": "cnf" } }, { // Type of Resource Element. Either NF or ArmTemplate "resource_element_type": "ArmTemplate", // Properties of the Resource Element. "properties": { // Name of the artifact. Used as internal reference only. "artifact_name": "contoso-keyvault", // Version of the artifact in 1.1.1 format (three integers separated by dots). "version": "1.0.0", // File path (absolute or relative to this configuration file) of the artifact you wish to upload from your local disk. // Use Linux slash (/) file separator even if running on Windows. "file_path": "./contoso-keyvault.json" } } ] }
Примечание.
Раздел шаблона элемента ресурса определяет, какой NFD включен в NSD. Свойства должны соответствовать тем, которые используются во входном файле, переданном команде
az aosm nfd build
. Это связано с тем, что расширение AOSM Azure CLI проверяет правильность подключения NFD при создании NSD.Выполните следующую команду, чтобы создать группу проектирования сетевых служб и шаблоны BICEP версии.
az aosm nsd build --config-file <nsd-output-filename.jsonc>
При необходимости можно просмотреть структуру папок и файлов и внести изменения.
Публикация группы разработки и версии сетевой службы
На этом шаге создаются ресурсы AOSM, определяющие группу разработки и версию сетевой службы. Он также отправляет артефакты, необходимые NSDV в хранилище артефактов (шаблон NF ARM и шаблон ARM AKV).
- Выполните следующую команду, чтобы опубликовать группу разработки и версию сетевой службы. Если у вас нет подписки область
Contributor
иAcrPush
ролей, включите--no-subscription-permissions
в команду.
az aosm nsd publish --build-output-folder nsd-cli-output
Теперь у вас есть полный набор ресурсов издателя AOSM и готовы к выполнению потока оператора.