Om parameterexponering med hjälp av CLI-tillägget för Azure Operator Service Manager (AOSM)
Det här dokumentet beskriver hur Azure Operator Service Manager(AOSM) Azure CLI-tillägget översätter helm-värden och parametrar i ARM-mallar till en konfigurationsmodell som exponeras för en operatör.
Bakgrund
Med AOSM kan utgivaren av en NFDV (Network Function Definition Version) välja vilka parametrar som kan konfigureras när nätverksfunktionen (NF) distribueras. Med AOSM kan designern av en NSDV (Network Service Design Version) välja vilka parametrar som kan konfigureras när du distribuerar SNS (Site Network Service).
Valet av vilka parametrar som exponeras kodas i ett eller flera scheman. Utgivaren definierar schemat i en egenskap för NFDV ( deployParameters
egenskapen); designern definierar schemat i en separat Azure-resurs – konfigurationsgruppschemat (CGS). CGS och NSDV måste skicka en uppsättning parametrar och värden till den NFDV som matchar schemat i NFDV.
Azure CLI AOSM-tillägget innehåller stöd för automatisk generering av NFDV-egenskapen deployParameters
, CGS och mappningar som säkerställer att alla parametrar skickas korrekt till NF vid distributionstillfället.
Konfiguration av indatafil
Azure CLI AOSM-tilläggskommandot az aosm nfd generate-config
genererar en indatafil. Indatafilen varierar beroende på parametern --definition-type
. Alla varianter innehåller följande parameter:
// 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,
Den här parametern styr beteendet för parameterexponering i AOSM CLI-tillägget.
Varning
Genom att exponera alla parametrar exponerar du även alla dina standardvärden. Kontrollera att standardinställningarna inte innehåller någon känslig information.
Standardbeteende
expose_all_parameters
är alltid inställt på false
som standard. The AOSM CLI:
- parsar helm-värdena för Containerized Network Function (CNF) eller mallparametrarna Virtualized Network Function (VNF) Azure Resource Manager (ARM)
- genererar ett
deployParameters
schema i NFDV som innehåller alla obligatoriska parametrar som inte har ett standardvärde
Det här utdraget av en VNF ARM-mall definierar till exempel två parametrar. En krävs och en är valfri.
"parameters": {
"required": {
"type": "string",
"metadata": {
"description": "A required parameter."
}
},
"optional": {
"type": "string",
"defaultValue": "optional"
"metadata": {
"description": "An optional parameter."
}
},
}
AOSM CLI skapar en NFDV som exponerar parametern required
i egenskapen deployParameters
. Parametern optional
exponeras inte. Vid distributionen distribueras VNF med optional
inställt på standardvärdet optional
för . Användaren som utlöser distributionen måste ange ett värde för required
.
Beteendet är liknande för CNF:er. Med AOSM CLI kan användaren ange en values.yaml
fil som åsidosätter standardfilen values.yaml
i helm-diagrammet. Den här åsidosättningsfilen values.yaml
kan innehålla parametrar med eller utan värden. Följande utdrag av en values.yaml
åsidosättningsfil visar en parameter med ett värde och en parameter utan värde.
optional: "optional"
required:
AOSM CLI skapar en NFDV som exponerar parametern required
i egenskapen deployParameters
. Parametern optional
exponeras inte. Vid distributionen distribueras CNF med optional
inställt på standardvärdet optional
för . Användaren som utlöser distributionen måste ange ett värde för required
.
Viktigt!
AOSM CLI verifierar att standardfilen values.yaml
i helm-diagrammet är konsekvent med diagrammet genom att köra helm template
. CLI genererar ett fel om det här helm template
kommandot misslyckas.
Exponera alla parametrar
Azure AOSM CLI-tillägget har stöd för att göra alla parametrar konfigurerbara. Den nödvändiga konfigurationen i indatafilen som genereras av az aosm nfd generate-config
är:
// 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,
AOSM CLI-tillägget, om expose_all_parameters
är inställt på true
:
- parsar helm-värdena för Containerized Network Function (CNF) eller mallparametrarna Virtualized Network Function (VNF) Azure Resource Manager (ARM)
- genererar ett
deployParameters
schema i NFDV som innehåller alla parsade parametrar - alla standardvärden i ARM-mallen eller värdena som konfigurerats i helm-värdena konfigureras som standardvärden i NFDV-schemat
deployParameters
.
CGS-konstruktion
I samtliga fall läggs alla parametrar som exponeras av az aosm nfd build
kommandot till i CGS under az aosm nsd build
kommandot . AOSM CLI-tillägget lägger också till några extra parametrar till CGS, som inte parsas från ARM-mallen eller helm-värdena, till exempel customLocationId
och managedIdentityId
. Dessa parametrar behövs för att distribuera platsnätverkstjänsten i målmiljön.