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à della proprietà NFDV (la deployParameters proprietà); 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à NFDV deployParameters , il 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 dell'estensione az aosm nfd generate-config AOSM dell'interfaccia della riga di comando di Azure genera un file di input. Il file di input varia in base al --definition-type parametro . 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.

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 deployParameters schema 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 required parametro nella deployParameters proprietà . Il optional parametro 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 cnfs. L'interfaccia della riga di comando di AOSM consente all'utente di fornire un values.yaml file che esegue l'override del file predefinito values.yaml nel grafico Helm. Questo file di override values.yaml può contenere parametri con o senza valori. L'estratto seguente di un values.yaml file di override 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 required parametro nella deployParameters proprietà . Il optional parametro 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 predefinito values.yaml nel grafico Helm sia coerente con il grafico eseguendo helm template. L'interfaccia della riga di comando genera un errore se questo helm template comando non riesce.

Esposizione di 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 truesu :

  • 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 deployParameters schema nella 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 NFDV deployParameters .

Costruzione CGS

In tutti i casi, tutti i parametri esposti dal az aosm nfd build comando vengono aggiunti al CGS durante il az aosm nsd build comando. 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