Compartir a través de


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 deployParameterspropiedad); 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.

Pasos siguientes