Dela via


Snabbstart: Utforma en CNF-nätverkstjänstdesign (Containerized Network Function) med Nginx

Den här snabbstarten az aosm beskriver hur du använder Azure CLI-tillägget för att skapa och publicera en grundläggande nätverkstjänstdesign.

Förutsättningar

Skapa indatafil

Skapa en indatafil för publicering av nätverkstjänstens designversion och associerade resurser. Kör följande kommando för att generera indatakonfigurationsfilen för NSDV (Network Service Design Version).

az aosm nsd generate-config

Körningen av föregående kommando genererar en nsd-input.jsonc-fil.

Kommentar

Redigera filen input.json. Ersätt den med de värden som visas i exemplet nedan. Spara filen som input-cnf-nsd.jsonc.

Om du ändrade namnet på utgivaren när du publicerade NFDV använder du ditt utgivarnamn för både fälten publisher_name och publisher (det senare finns i matrisen resource_element_templates ).

Om du har använt ett annat resursgruppsnamn uppdaterar du både fälten publisher_resource_group_name och publisher_resource_group (det senare finns i matrisen resource_element_templates ).

Här är ett exempel på input-cnf-nsd.jsonc:

{
  // Azure location to use when creating resources e.g uksouth
  "location": "uksouth",
  // Name of the Publisher resource you want your definition published to.
  // Will be created if it does not exist.
  "publisher_name": "nginx-publisher",
  // Resource group for the Publisher resource.
  // Will be created if it does not exist.
  "publisher_resource_group_name": "nginx-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "nginx-nsd-acr",
  // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
  "nsd_name": "nginx-nsdg",
  // Version of the NSD to be created. This should be in the format A.B.C
  "nsd_version": "1.0.0",
  // Optional. Description of the Network Service Design Version (NSDV).
  "nsdv_description": "Deploys a basic NGINX CNF",
  // List of Resource Element Templates (RETs).
  // There must be at least one NF RET.
  // ArmTemplate RETs are optional. Delete if not required.
  "resource_element_templates": [
    {
      // Type of Resource Element. Either NF or ArmTemplate
      "resource_element_type": "NF",
      "properties": {
        // The name of the existing publisher for the NSD.
        "publisher": "nginx-publisher",
        // The resource group that the publisher is hosted in.
        "publisher_resource_group": "nginx-publisher-rg",
        // The name of the existing Network Function Definition Group to deploy using this NSD.
        // This will be the same as the NF name if you published your NFDV using the CLI.
        "name": "nginx",
        // The version of the existing Network Function Definition to base this NSD on.
        // This NSD will be able to deploy any NFDV with deployment parameters compatible with this version.
        "version": "1.0.0",
        // The region that the NFDV is published to.
        "publisher_offering_location": "uksouth",
        // Type of Network Function. Valid values are 'cnf' or 'vnf'.
        "type": "cnf"
      }
    }
  ]
}
  • publisher_name – Namnet på den Publisher-resurs som du vill att definitionen ska publiceras till. Skapas om den inte redan finns.
  • publisher_resource_group_name – Resursgrupp för Publisher-resursen. Skapas om den inte redan finns. För den här snabbstarten rekommenderar vi att du använder samma resursgrupp som du använde när du publicerade nätverksfunktionsdefinitionen.
  • acr_artifact_store_name – namnet på resursen ACR Artifact Store. Skapas om den inte redan finns.
  • location – Den Azure-plats som ska användas när du skapar resurser.
  • nsd_name – Namnet på nätverkstjänstens designgrupp. Samlingen av nätverkstjänstdesignversioner. Skapas om den inte redan finns.
  • nsd_version – Den version av NSD som skapas. I formatet A.B.C.
  • nsdv_description – Beskrivningen av NSDV.
  • resource_element_templates:
    • publisher – namnet på utgivaren som denna NFDV publiceras under.
    • publisher_resource_group – resursgruppen som utgivaren finns i.
    • name – Namnet på den befintliga nätverksfunktionsdefinitionsgruppen som ska distribueras med den här NSD:n. Detta är samma som NF-namnet om du publicerade din NFDV med hjälp av CLI.
    • version – Den version av den befintliga nätverksfunktionsdefinitionen som den här NSD:n ska baseras på. Den här NSD:n kan distribuera valfri NFDV med distributionsparametrar som är kompatibla med den här versionen.
    • publisher_offering_location – den region som NFDV publiceras till.
    • type – Typ av nätverksfunktion. Giltiga värden är cnf eller vnf.

Skapa nätverkstjänstdesignversionen (NSDV)

Initiera byggprocessen för NSDV med hjälp av följande kommando:

az aosm nsd build -f input-cnf-nsd.jsonc

Byggprocessen genererar en mapp med namnet nsd-cli-output. När byggprocessen är klar granskar du de genererade filerna för att få insikter om NSDV-arkitekturen och strukturen och de associerade resursernas.

Dessa filer skapas:

Katalog/fil beskrivning
nsdDefinition/config-group-schema.json Definierar schemat för de distributionsparametrar som krävs för att skapa en platsnätverkstjänst (SNS) från denna NSDV.
nsdDefinition/nginx-nsd-mappings.json Mappar parametrarna för NSDV till de värden som krävs för NF ARM-mallen.
nsdDefinition/deploy.bicep Bicep-mall för att skapa själva NSDV:n.
Artefakter Innehåller en bicep-mall för NF ARM-mallen samt en lista över artefakter som ska ingå i artefaktmanifestet.
artifactManifest/deploy.bicep Bicep-mall för att skapa artefaktmanifestet.
base/deploy.bicep Bicep-mall för att skapa utgivare, nätverkstjänstdesigngrupp och resurser för artefaktarkiv

Publicera nätverkstjänstdesignversionen (NSDV)

Om du vill publicera NSDV och dess associerade artefakter utfärdar du följande kommando:

az aosm nsd publish --build-output-folder nsd-cli-output

När publiceringsprocessen är klar går du till publisher-resursgruppen för att observera och granska de resurser och artefakter som har skapats.

Nästa steg