Inicio rápido: Diseñar el diseño de servicio de red de función de red en contenedores (CNF) con Nginx
En este inicio rápido se describe cómo usar la extensión de la CLI de Azure az aosm
para crear y publicar un diseño del servicio de red básico.
Requisitos previos
- Se requiere una cuenta de Azure con una suscripción activa. Si no tiene una suscripción de Azure, siga las instrucciones que se indican aquí : Comenzar gratis para crear una cuenta antes de comenzar.
- Complete el Inicio rápido: Publicación del contenedor Nginx como función de red en contenedores (CNF).
Crear un archivo de entrada
Cree un archivo de entrada para publicar la versión de diseño del servicio de red y los recursos asociados. Ejecute el siguiente comando para generar el archivo de configuración de entrada para la versión de diseño del servicio de red (NSDV).
az aosm nsd generate-config
La ejecución del comando anterior genera un archivo nsd-input.jsonc.
Nota:
Edite el archivo input.json. Reemplácelo por los valores que se muestran en el ejemplo siguiente. Guarde el archivo como input-cnf-nsd.jsonc.
Si cambió el nombre del publicador al publicar la NFDV, use el nombre del publicador para los campos publisher_name
y publisher
(el último está dentro de la matriz resource_element_templates
).
Si ha usado otro nombre de grupo de recursos, actualice los campos publisher_resource_group_name
y publisher_resource_group
(este último se encuentra dentro de la matriz resource_element_templates
).
Este es un ejemplo de 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: Nombre del recurso del publicador en el que desea que se publique la definición. Se crea si aún no existe.
- publisher_resource_group_name: Grupo de recursos para el recurso del publicador. Se crea si aún no existe. Para este inicio rápido, se recomienda usar el mismo grupo de recursos que usó al publicar la definición de función de red.
- acr_artifact_store_name: Nombre del recurso de almacén de Artifact de ACR. Se crea si aún no existe.
- location (ubicación): La ubicación de Azure que se utilizará al crear recursos.
- nsd_name: El nombre del grupo de diseño de servicios de red. Colección de versiones del diseño del servicio de red. Se crea si aún no existe.
- nsd_version: La versión del NSD que se va a crear. En el formato de A.B.C.
- nsdv_description: La descripción del NSDV.
- resource_element_templates:
- publisher (publicador): El nombre del publicador en el que se publica este NFDV.
- publisher_resource_group: El grupo de recursos en el que se hospeda el publicador.
- name (nombre): El nombre del grupo de definición de función de red existente que se va a implementar con este NSD. Este será el mismo que el nombre NF si publicó su NFDV mediante la CLI.
- version (versión): La versión de la definición de función de red existente en la que basar este NSD. Este NSD puede implementar cualquier NFDV con parámetros de implementación compatibles con esta versión.
- publisher_offering_location: Región en la que se publica el NFDV.
- type (tipo): Tipo de función de red. Los valores válidos son cnf o vnf.
Compilación de la versión de diseño del servicio de red (NSDV)
Inicie el proceso de compilación para el NSDV mediante el siguiente comando:
az aosm nsd build -f input-cnf-nsd.jsonc
El proceso de compilación genera una carpeta denominada nsd-cli-output
. Una vez completado el proceso de compilación, revise los archivos generados para obtener información sobre la arquitectura y la estructura de NSDV, y la de los recursos asociados.
Se crean estos archivos:
Directorio o archivo | Descripción |
---|---|
nsdDefinition/config-group-schema.json | Define el esquema de los parámetros de implementación necesarios para crear un servicio de red de sitio (SNS) a partir de este NSDV. |
nsdDefinition/nginx-nsd-mappings.json | Asigna los parámetros de NSDV a los valores necesarios para la plantilla de ARM de NF. |
nsdDefinition/deploy.bicep | Plantilla de Bicep para crear el propio NSDV. |
artifacts | Contiene una plantilla de bicep para la plantilla de ARM de NF, así como una lista de artefactos que se van a incluir en el manifiesto del artefacto. |
artifactManifest/deploy.bicep | Plantilla de Bicep para crear el manifiesto del artefacto. |
base/deploy.bicep | Plantilla de Bicep para crear el publicador, el grupo de diseño del servicio de red y los recursos del almacén de artefactos |
Publicar la versión de diseño del servicio de red (NSDV)
Para publicar el NSDV y sus artefactos asociados, emita el siguiente comando:
az aosm nsd publish --build-output-folder nsd-cli-output
Una vez completado el proceso de publicación, vaya al grupo de recursos del publicador para observar y revisar los recursos y artefactos que se generaron.