Acerca de la exposición de parámetros mediante la extensión de la CLI de Azure Operator Service Manager (AOSM)
En este documento se explica cómo la extensión de la CLI de Azure Operator Service Manager (AOSM) traduce los valores de Helm y los parámetros de las plantillas de ARM en un modelo de configuración expuesto a un operador.
Fondo
AOSM permite al publicador de una versión de definición de función de red (NFDV) elegir qué parámetros se pueden configurar al implementar la función de red (NF). AOSM también permite al diseñador de una versión de diseño de servicio de red (NSDV) elegir qué parámetros se pueden configurar al implementar el servicio de red de sitio (SNS).
La elección de los parámetros que se exponen se codifica en uno o varios esquemas. El publicador define el esquema en una propiedad del NFDV (la deployParameters
propiedad); el diseñador define el esquema en un recurso Azure independiente: el esquema de grupo de configuración (CGS). El CGS y NSDV deben pasar un conjunto de parámetros y valores al NFDV que coincida con el esquema de NFDV.
La extensión AOSM de la CLI de Azure contiene compatibilidad con la generación automática de la propiedad deployParameters
NFDV, el CGS y las asignaciones que garantizan que todos los parámetros se pasan correctamente a NF en tiempo de implementación.
Configuración del archivo de entrada
El comando de extensión AOSM de la CLI de Azure az aosm nfd generate-config
genera un archivo de entrada. El archivo de entrada varía en función del --definition-type
parámetro. Todas las variantes contienen el parámetro siguiente:
// If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
// If not set or set to false, only required parameters without defaults will be exposed.
"expose_all_parameters": false,
Este parámetro controla el comportamiento de exposición de parámetros en la extensión de la CLI de AOSM.
Advertencia
Al exponer todos los parámetros, también se exponen todos los valores predeterminados. Asegúrese de que los valores predeterminados no contienen información confidencial.
Comportamiento predeterminado
expose_all_parameters
siempre se establece en false
de forma predeterminada. La CLI de AOSM:
- analiza los valores de helm de la función de red contenedorizada (CNF) o los parámetros de plantilla de la función de red virtualizada (VNF) de Azure Resource Manager (ARM)
- genera
deployParameters
un esquema en el NFDV que contiene los parámetros necesarios que no tienen un valor predeterminado
Por ejemplo, este extracto de una plantilla de ARM de VNF define dos parámetros. Se requiere una y otra es opcional.
"parameters": {
"required": {
"type": "string",
"metadata": {
"description": "A required parameter."
}
},
"optional": {
"type": "string",
"defaultValue": "optional"
"metadata": {
"description": "An optional parameter."
}
},
}
La CLI de AOSM compila un NFDV que expone el required
parámetro en la deployParameters
propiedad. El optional
parámetro no se expone. En el momento de la implementación, VNF se implementa con optional
establecido en el valor predeterminado de optional
. El usuario que desencadena la implementación debe proporcionar un valor para required
.
El comportamiento es similar para las CNF. La CLI de AOSM permite al usuario proporcionar un archivo values.yaml
que invalida el archivo de predeterminado values.yaml
en el gráfico de Helm. Esta invalidación values.yaml
archivo puede contener parámetros con o sin valores. El siguiente fragmento de un archivo de values.yaml
invalidación de muestra un parámetro con un valor y un parámetro sin un valor.
optional: "optional"
required:
La CLI de AOSM compila un NFDV que expone el required
parámetro en la deployParameters
propiedad. El optional
parámetro no se expone. En el momento de la implementación, CNF se implementa con optional
establecido en el valor predeterminado de optional
. El usuario que desencadena la implementación debe proporcionar un valor para required
.
Importante
La CLI de AOSM valida que el archivo values.yaml
predeterminado del gráfico de Helm sea coherente con el gráfico ejecutando helm template
. La CLI genera un error si se produce un helm template
error en este comando.
Exponer todos los parámetros
La extensión de la CLI de Azure AOSM admite la configuración de todos los parámetros. La configuración necesaria en el archivo de entrada generado por az aosm nfd generate-config
es:
// If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
// If not set or set to false, only required parameters without defaults will be exposed.
"expose_all_parameters": true,
La extensión de la CLI de AOSM, si expose_all_parameters
está establecida en true
:
- analiza los valores de helm de la función de red contenedorizada (CNF) o los parámetros de plantilla de la función de red virtualizada (VNF) de Azure Resource Manager (ARM)
- genera un esquema de
deployParameters
en el NFDV que contiene todos los parámetros analizados - Los valores predeterminados de la plantilla o los valores de ARM configurados en los valores de Helm se configuran como valores predeterminados en el
deployParameters
esquema de NFDV.
Construcción de CGS
En todos los casos, todos los parámetros expuestos por el az aosm nfd build
comando se agregan al CGS durante el az aosm nsd build
comando. La extensión de la CLI de AOSM también agrega algunos parámetros adicionales al CGS, no analizados desde los valores de plantilla o helm de ARM, como customLocationId
y managedIdentityId
. Estos parámetros son necesarios para implementar el servicio de red de sitio en el entorno de destino.