Поделиться через


Добавление ресурсов 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 для следующих целей:

  1. Измените существующий входной файл NSDV для ранее подключенного CNF.
  2. Заполните входной файл сведениями, необходимыми для создания определений ресурсов AOSM.
  3. Создайте файлы BICEP, определяющие группу и версию сетевой службы (NSDV) на основе входного файла и шаблона ARM.
  4. Опубликуйте 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.

  1. Запустите az version , чтобы просмотреть установленные версии и зависимые библиотеки.
  2. Выполните az upgrade обновление до текущей версии Azure CLI.

Установите расширение ИНТЕРФЕЙСА командной строки AOSM с помощью следующей команды:

az extension add --name aosm

Создание группы разработки и версии сетевой службы

  1. Откройте входной файл NSDV, созданный при подключении CNF.

    Примечание.

    Вы можете создать входной файл с помощью az aosm nsd generate-config --output-file <nsd-output-filename.jsonc> команды, если у вас нет входного файла NSDV из подключения CNF.

  2. Введите необходимые значения с помощью входного файла строковый комментарий. В этом примере показан входной файл расширения 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.

  3. Выполните следующую команду, чтобы создать группу проектирования сетевых служб и шаблоны BICEP версии.

az aosm nsd build --config-file <nsd-output-filename.jsonc>

При необходимости можно просмотреть структуру папок и файлов и внести изменения.

Публикация группы разработки и версии сетевой службы

На этом шаге создаются ресурсы AOSM, определяющие группу разработки и версию сетевой службы. Он также отправляет артефакты, необходимые NSDV в хранилище артефактов (шаблон NF ARM и шаблон ARM AKV).

  1. Выполните следующую команду, чтобы опубликовать группу разработки и версию сетевой службы. Если у вас нет подписки область Contributor и AcrPush ролей, включите --no-subscription-permissions в команду.
az aosm nsd publish --build-output-folder nsd-cli-output

Теперь у вас есть полный набор ресурсов издателя AOSM и готовы к выполнению потока оператора.

Следующие шаги