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 true
su :
- 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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per