Condividi tramite


Informazioni sull'esposizione dei parametri tramite l'estensione dell'interfaccia della riga di comando di Azure Operator Service Manager (AOSM)

Questo documento illustra in che modo l'estensione dell'interfaccia della riga di comando di Azure Operator Service Manager (AOSM) di Azure converte i valori helm e i parametri nei modelli ARM in un modello di configurazione esposto a un operatore.

Background

AOSM consente all'editore di una versione di definizione della funzione di rete (NFDV) di scegliere quali parametri sono configurabili durante la distribuzione della funzione di rete (NF). AOSM consente inoltre alla finestra di progettazione di una versione di progettazione del servizio di rete (NSDV) di scegliere quali parametri sono configurabili durante la distribuzione del servizio di rete del sito (SNS).

La scelta dei parametri esposti viene codificata in uno o più schemi. Il server di pubblicazione definisce lo schema in una proprietà del valore NFDV (la proprietà deployParameters); la finestra di progettazione definisce lo schema in una risorsa di Azure separata, ovvero lo schema del gruppo di configurazione (CGS). Il CGS e NSDV devono passare un set di parametri e valori all'NFDV che corrisponde allo schema nella NFDV.

L'estensione AOSM dell'interfaccia della riga di comando di Azure contiene il supporto per la generazione automatica della proprietà deployParameters NFDV, CGS e i mapping che assicurano che tutti i parametri vengano passati correttamente al NF in fase di distribuzione.

Configurazione del file di input

Il comando az aosm nfd generate-config dell'estensione AOSM dell'interfaccia della riga di comando di Azure genera un file di input. Il file di input varia in base al parametro --definition-type. Tutte le varianti contengono il parametro seguente:

  // 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,

Questo parametro controlla il comportamento di esposizione dei parametri nell'estensione dell'interfaccia della riga di comando di AOSM.

Avviso

Esponendo tutti i parametri si espongono anche tutte le impostazioni predefinite. Assicurarsi che le impostazioni predefinite non contengano informazioni riservate.

Comportamento predefinito

expose_all_parameters è sempre impostato su false per impostazione predefinita. Interfaccia della riga di comando di AOSM:

  • analizza i valori helm della funzione di rete in contenitori (CNF) o i parametri del modello di Azure Resource Manager (VNF) Virtualized Network Function (ARM)
  • genera uno schema deployParameters nella NFDV che contiene tutti i parametri obbligatori che non hanno un valore predefinito

Ad esempio, questo estratto di un modello ARM VNF definisce due parametri. Uno è obbligatorio e uno è facoltativo.

  "parameters": {
    "required": {
      "type": "string",
      "metadata": {
        "description": "A required parameter."
      }
    },
    "optional": {
      "type": "string",
      "defaultValue": "optional"
      "metadata": {
        "description": "An optional parameter."
      }
    },
  }

L'interfaccia della riga di comando di AOSM compila un valore NFDV che espone il parametro required nella proprietà deployParameters. Il parametro optional non è esposto. In fase di distribuzione, il VNF viene distribuito con optional impostato sul valore predefinito di optional. L'utente che attiva la distribuzione deve fornire un valore per required.

Il comportamento è simile per le funzioni CNF. L'interfaccia della riga di comando di AOSM consente all'utente di fornire un file values.yaml che esegue l'override del file values.yaml predefinito nel grafico Helm. Questo file values.yaml di override può contenere parametri con o senza valori. L'estratto seguente di un file di override values.yaml mostra un parametro con un valore e un parametro senza un valore.

optional: "optional"
required:

L'interfaccia della riga di comando di AOSM compila un valore NFDV che espone il parametro required nella proprietà deployParameters. Il parametro optional non è esposto. In fase di distribuzione, il CNF viene distribuito con optional impostato sul valore predefinito di optional. L'utente che attiva la distribuzione deve fornire un valore per required.

Importante

L'interfaccia della riga di comando di AOSM verifica che il file values.yaml predefinito nel grafico Helm sia coerente con il grafico eseguendo helm template. L'interfaccia della riga di comando genera un errore se questo comando helm template ha esito negativo.

Esporre tutti i parametri

L'estensione dell'interfaccia della riga di comando di Azure AOSM supporta la configurazione di tutti i parametri. La configurazione necessaria nel file di input generato da az aosm nfd generate-config è:

  // 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,

Estensione dell'interfaccia della riga di comando di AOSM, se expose_all_parameters è impostata su true:

  • analizza i valori helm della funzione di rete in contenitori (CNF) o i parametri del modello di Azure Resource Manager (VNF) Virtualized Network Function (ARM)
  • genera uno schema deployParameters nell'NFDV che contiene tutti i parametri analizzati
  • tutti i valori predefiniti nel modello ARM o nei valori configurati nei valori helm sono configurati come valori predefiniti nello schema deployParameters NFDV.

Costruzione di CGS

In tutti i casi, tutti i parametri esposti dal comando az aosm nfd build vengono aggiunti al CGS durante il comando az aosm nsd build. L'estensione dell'interfaccia della riga di comando di AOSM aggiunge anche alcuni parametri aggiuntivi a CGS, non analizzati dal modello ARM o dai valori helm, ad esempio customLocationId e managedIdentityId. Questi parametri sono necessari per distribuire il servizio di rete del sito nell'ambiente di destinazione.

Passaggi successivi