Dela via


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 optionalfö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 optionalfö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.

Nästa steg