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
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.
Rol Colaborador en esta suscripción para crear un grupo de recursos o un grupo de recursos existente donde tenga el rol Colaborador.
También se supone que ha seguido los requisitos previos de Inicio rápido: Completar los requisitos previos para implementar una función de red virtualizada en Azure Operator Service Manager
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.