Share via


Inicio rápido: Publicar una máquina virtual (VM) ubuntu como función de red virtual (VNF)

En este inicio rápido se describe cómo usar la extensión de la CLI de Azure az aosm para crear y publicar una definición básica de función de red. Su propósito es demostrar el flujo de trabajo de los recursos de Azure Operator Service Manager (AOSM) del publicador. Los conceptos básicos que se presentan aquí están diseñados para preparar a los usuarios para crear servicios más emocionantes.

Requisitos previos

Crear un archivo de entrada

Ejecute el comando siguiente para generar el archivo de configuración de entrada para la definición de función de red (NFD).

az aosm nfd generate-config --definition-type vnf

Una vez se ejecute este comando, se genera un archivo input.json.

Nota:

Editar el archivo input.json y reemplazar por los valores que se muestran en el ejemplo. Guarde el archivo como input-vnf-nfd.json.

Este es el archivo input-vnf-nfd.json de ejemplo:

{ 
    "publisher_name": "ubuntu-publisher", 
    "publisher_resource_group_name": "ubuntu-publisher-rg", 
    "nf_name": "ubuntu-vm", 
    "version": "1.0.0", 
    "acr_artifact_store_name": "ubuntu-acr", 
    "location": "uksouth", 
    "blob_artifact_store_name": "ubuntu-blob-store", 
    "image_name_parameter": "imageName", 
    "arm_template": { 
        "file_path": "ubuntu-template.json", 
        "version": "1.0.0" 
    }, 
    "vhd": { 
        "file_path": "livecd.ubuntu-cpc.azure.vhd", 
        "version": "1-0-0",
        "image_disk_size_GB": 30,
        "image_hyper_v_generation": "V1",
        "image_api_version": "2023-03-01"
    } 
} 
Variable Descripción
publisher_name Nombre del recurso del publicador en el que desea publicar la definición. Se crea si no existe.
publisher_resource_group_name Grupo de recursos para el recurso del publicador. Se crea si no existe.
acr_artifact_store_name Nombre del recurso del almacén de artefactos de ACR. Se crea si no existe.
ubicación Ubicación de Azure que se usará al crear recursos.
nf_name Nombre de la definición de NF.
version Versión de la definición NF en formato A.B.C.
blob_artifact_store_name Nombre del recurso del almacén de artefactos de la cuenta de almacenamiento. Se crea si no existe.
image_name_parameter Nombre del parámetro de la plantilla de ARM de la máquina virtual que especifica el nombre de la imagen que se va a usar para la máquina virtual.
arm_template artifact_name: nombre del artefacto.
file_path: opcional. Ruta de acceso del archivo del artefacto que desea cargar desde el disco local. Eliminar si no es necesario. Las rutas de acceso relativas son relativas al archivo de configuración. En Windows, escape cualquier barra diagonal inversa con otra barra diagonal inversa.
version: versión del artefacto. Para la versión de las plantillas de ARM debe tener el formato A.B.C.
vhd artifact_name: nombre del artefacto.
file_path: opcional. Ruta de acceso del archivo del artefacto que desea cargar desde el disco local. Eliminar si no es necesario. Las rutas de acceso relativas son relativas al archivo de configuración. En Windows, escape cualquier barra diagonal inversa con otra barra diagonal inversa.
blob_sas_url: opcional. Dirección URL de SAS del artefacto de blob que desea copiar en el almacén de artefactos. Eliminar si no es necesario.
version: versión del artefacto. Versión del artefacto. Para la versión de VHD debe tener el formato A-B-C.
"image_disk_size_GB: Opcional. Especifica el tamaño de los discos de datos vacíos en gigabytes. Este valor no puede ser mayor que 1023 GB. Eliminar si no es necesario.
image_hyper_v_generation: opcional. Especifica el HyperVGenerationType de virtualMachine creado a partir de la imagen. Los valores válidos son V1 y V2. V1 es el valor predeterminado si no se especifica. Eliminar si no es necesario.
image_api_version: opcional. Versión de la API de ARM que se usa para crear el recurso Microsoft.Compute/images. Eliminar si no es necesario.

Nota:

Al usar la opción file_path, es esencial tener una conexión confiable a Internet con ancho de banda suficiente, ya que la duración de la carga puede variar en función del tamaño del archivo.

Importante

Cada variable descrita en la tabla anterior debe ser única. Por ejemplo, el nombre del grupo de recursos no puede existir, y los nombres del almacén de artefactos y del publicador deben ser únicos en la región.

Compilar la definición de función de red (NFD)

Para construir la definición de función de red (NFD), inicie el proceso de compilación.

az aosm nfd build -f input-vnf-nfd.json --definition-type vnf

Una vez completada la compilación, examine los archivos generados para comprender mejor la estructura de definición de función de red (NFD).

Estos archivos se crean en un subdirectorio denominado nfd-bicep-ubuntu-template:

Archivo Descripción
configMappings Directorio que contiene archivos que asignan los parámetros de implementación de la versión de definición de función de red (NFDV) a los parámetros necesarios para la plantilla de ARM de máquina virtual (VM).
schemas Directorio que contiene archivos que definen los parámetros de implementación necesarios para crear una función de red (NF) a partir de esta versión de definición de función de red (NFDV).
vnfartifactmanifests.bicep Plantilla de Bicep para crear los manifiestos de artefacto.
Vnfdefinition.bicep Plantilla de Bicep para crear la propia versión de definición de función de red (NFDV).

Nota:

Si se realizaron errores, la única opción para corregir es volver a ejecutar el comando con las selecciones adecuadas.

Publicar la definición de función de red y cargar artefactos

Ejecute el siguiente comando para publicar la definición de función de red (NFD) y cargar los artefactos asociados:

az aosm nfd publish -f input-vnf-nfd.json --definition-type vnf

Cuando se complete el comando, inspeccione los recursos del grupo de recursos del publicador para observar los componentes y artefactos creados.

Se crean estos recursos:

Nombre de recurso Tipo de recurso
ubuntu-vm-nfdg Definición de función de red.
1.0.0 Versión de definición de función de red.
ubuntu-publisher Publisher.
ubuntu-vm-acr-manifest-1-0-0 Manifiesto de artefacto del publicador.
ubuntu-vm-sa-manifest-1-0-0 Manifiesto de artefacto del publicador.
ubuntu-acr Almacén de artefactos del publicador.
ubuntu-blob-store Almacén de artefactos del publicador.

Nota:

La creación de los almacenes de artefactos tarda aproximadamente 10 minutos. Si el recurso ya existe, el proceso es considerablemente más rápido.

Pasos siguientes