Краткое руководство. Проектирование сетевой службы контейнерной сетевой функции (CNF) с помощью Nginx
В этом кратком руководстве описывается, как использовать az aosm
расширение Azure CLI для создания и публикации базовой структуры сетевой службы.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Если у вас нет подписки Azure, следуйте инструкциям, приведенным здесь , чтобы создать учетную запись перед началом работы.
- Выполните краткое руководство. Публикация контейнера Nginx в качестве контейнерной сетевой функции (CNF).
Создание входного файла
Создайте входной файл для публикации версии конструктора сетевой службы и связанных ресурсов. Выполните следующую команду, чтобы создать входной файл конфигурации для версии конструктора сетевой службы (NSDV).
az aosm nsd generate-config
Выполнение предыдущей команды создает файл nsd-input.jsonc.
Примечание.
Измените файл input.json. Замените его значениями, приведенными в приведенном ниже примере. Сохраните файл как input-cnf-nsd.jsonc.
Если вы изменили имя издателя при публикации NFDV, используйте имя издателя как для полей, так publisher_name
и publisher
для полей (последний находится в массиве resource_element_templates
).
Если вы использовали другое имя группы ресурсов, обновите publisher_resource_group_name
оба publisher_resource_group
поля (последний находится в массиве resource_element_templates
).
Ниже приведен пример input-cnf-nsd.jsonc:
{
// Azure location to use when creating resources e.g uksouth
"location": "uksouth",
// Name of the Publisher resource you want your definition published to.
// Will be created if it does not exist.
"publisher_name": "nginx-publisher",
// Resource group for the Publisher resource.
// Will be created if it does not exist.
"publisher_resource_group_name": "nginx-publisher-rg",
// Name of the ACR Artifact Store resource.
// Will be created if it does not exist.
"acr_artifact_store_name": "nginx-nsd-acr",
// Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
"nsd_name": "nginx-nsdg",
// 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": "Deploys a basic NGINX CNF",
// 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": "nginx-publisher",
// The resource group that the publisher is hosted in.
"publisher_resource_group": "nginx-publisher-rg",
// 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": "nginx",
// 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": "uksouth",
// Type of Network Function. Valid values are 'cnf' or 'vnf'.
"type": "cnf"
}
}
]
}
- publisher_name — имя ресурса издателя, в котором вы хотите опубликовать определение. Создано, если оно еще не существует.
- publisher_resource_group_name — группа ресурсов для ресурса издателя. Создано, если оно еще не существует. В этом кратком руководстве рекомендуется использовать ту же группу ресурсов, которую вы использовали при публикации определения сетевой функции.
- acr_artifact_store_name — имя ресурса хранилища артефактов ACR. Создано, если оно еще не существует.
- расположение — расположение Azure, используемое при создании ресурсов.
- nsd_name — имя группы конструктора сетевых служб. Коллекция версий конструктора сетевых служб. Создано, если оно еще не существует.
- nsd_version — версия создаваемого NSD. В формате A.B.C.
- nsdv_description — описание NSDV.
- resource_element_templates:
- publisher — имя издателя, в котором публикуется этот объект NFDV.
- publisher_resource_group — группа ресурсов, в которую размещается издатель.
- name — имя существующей группы определения сетевой функции для развертывания с помощью этого NSD. Это будет совпадать с именем NF, если вы опубликовали NFDV с помощью интерфейса командной строки.
- версия — версия существующего определения сетевой функции, на основе этого NSD. Этот NSD может развернуть любой NFDV с параметрами развертывания, совместимыми с этой версией.
- publisher_offering_location — регион, в котором публикуется NFDV.
- type — тип сетевой функции. Допустимые значения — cnf или vnf.
Создание версии конструктора сетевой службы (NSDV)
Инициируйте процесс сборки для NSDV с помощью следующей команды:
az aosm nsd build -f input-cnf-nsd.jsonc
Процесс сборки создает папку с именем nsd-cli-output
. После завершения процесса сборки просмотрите созданные файлы, чтобы получить аналитические сведения об архитектуре и структуре NSDV, а также о связанных ресурсах.
Эти файлы создаются:
Каталог/файл | Description |
---|---|
nsdDefinition/config-group-schema.json | Определяет схему параметров развертывания, необходимых для создания сетевой службы сайта (SNS) из этого NSDV. |
nsdDefinition/nginx-nsd-mappings.json | Сопоставляет параметры NSDV со значениями, необходимыми для шаблона NF ARM. |
nsdDefinition/deploy.bicep | Шаблон Bicep для создания самого NSDV. |
artifacts | Содержит шаблон bicep для шаблона NF ARM, а также список артефактов, которые необходимо включить в манифест артефактов. |
artifactManifest/deploy.bicep | Шаблон Bicep для создания манифеста артефакта. |
base/deploy.bicep | Шаблон Bicep для создания издателя, группы разработки сетевых служб и ресурсов хранилища артефактов |
Публикация версии конструктора сетевой службы (NSDV)
Чтобы опубликовать NSDV и связанные с ним артефакты, выполните следующую команду:
az aosm nsd publish --build-output-folder nsd-cli-output
По завершении процесса публикации перейдите в группу ресурсов издателя, чтобы просмотреть и просмотреть созданные ресурсы и артефакты.