Snabbstart: Utforma en nätverkstjänstdesign (NSD) för Ubuntu Virtual Machine (VM) som en virtualiserad nätverksfunktion (VNF)
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
Ett Azure-konto med en aktiv prenumeration krävs. Om du inte har en Azure-prenumeration följer du anvisningarna här Börja kostnadsfritt för att skapa ett konto innan du börjar.
Du måste följa kraven i snabbstart: Publicera Ubuntu Virtual Machine (VM) som virtuell nätverksfunktion (VNF).
Skapa indatafil
Skapa en indatafil för publicering av nätverkstjänstdesignen. Kör följande kommando för att generera indatakonfigurationsfilen för NSD (Network Service Design).
az aosm nsd generate-config
En nsd-input.jsonc
fil genereras när du kör det här kommandot.
Kommentar
Redigera filen nsd-input.jsonc och ersätt den med de värden som visas i exemplet. Ta bort avsnittet där resource_element_type är inställt på ArmTemplate. Det här är för att lägga till infrastruktur (till exempel virtuella nätverk) till mer komplicerade NSD:er, vilket inte behövs i den här snabbstarten. Spara filen som input-vnf-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
).
{
// 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": "ubuntu-publisher",
// Resource group for the Publisher resource.
// You should create this before running the publish command.
"publisher_resource_group_name": "ubuntu-publisher-rg",
// Name of the ACR Artifact Store resource.
// Will be created if it does not exist.
"acr_artifact_store_name": "ubuntu-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": "ubuntu-nsd",
// 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": "Plain ubuntu VM",
// 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": "ubuntu-publisher",
// The resource group that the publisher is hosted in.
"publisher_resource_group": "ubuntu-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": "ubuntu-vm",
// 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": "vnf"
}
}
]
}
Olika | beskrivning |
---|---|
publisher_name | Namnet på den Publisher-resurs som du vill att definitionen ska publiceras till. Skapas om den inte finns. |
publisher_resource_group_name | Resursgrupp för Publisher-resursen. Skapas om den inte finns. |
acr_artifact_store_name | Namnet på Resursen för Artefaktlager i Azure Container Registry (ACR). Skapas om den inte finns. |
Plats | Azure-plats att använda när du skapar resurser. |
nätverksfunktioner | utgivare: Namnet på utgivaren som denna NFDV (Network Function Definition Version) 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. | |
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. | |
typ: Typ av nätverksfunktion. Giltiga värden är cnf eller vnf. | |
nsd_name | Namn på nätverkstjänstdesigngrupp. Samlingen med designversioner av nätverkstjänsten. Skapas om den inte finns. |
nsd_version | Version av den NSD som ska skapas. Formatet ska vara A.B.C. |
nsdv_description | Beskrivning av NSDV. |
Skapa nätverkstjänstdesignen (NSD)
Initiera byggprocessen för NSD (Network Service Design) med följande kommando:
az aosm nsd build --config-file input-vnf-nsd.jsonc
När byggprocessen är klar granskar du följande genererade filer för att få insikter om NSD:ns arkitektur och struktur.
Dessa filer skapas i en underkatalog som kallas nsd-cli-output:
Katalog/fil | beskrivning |
---|---|
nsd-cli-output/artifactManifest | |
deploy.bicep | Bicep-mall för att skapa artefaktmanifest, med artefakter ifyllda från indatafilen |
nsd-cli-output/artifacts | |
artifacts.json | Lista över artefakter (bilder och ARM-mallar) som ska laddas upp vid publicering. Korrelerar med artefaktmanifestet |
<nf-name.bicep> | Bicep-mall per nätverksfunktion (NF) RET som anges i indatafilen för distribution av NF. Den här mallen konverteras till en ARM-mall och laddas upp till artefaktarkivet när du kör publiceringskommandot |
nsd-cli-output/base | |
deploy.bicep | Bicep-mall för att skapa den utgivare, lagringskonton och nätverkstjänstdesigngrupp som delas av alla NSDV:er i den här NSD-gruppen |
nsd-cli-output/nsdDefinition | |
deploy.bicep | Bicep-mall för att skapa NSDV (Network Service Design Version). Den här mallen innehåller underordnade resurselementmallar som hämtas från de publicerade NF:er eller ARM-mallar (för infrastruktur) som definierats i filen nsd-input.jsonc |
config-group-schema.json | Kombinerat konfigurationsgruppschema för alla NF:er i denna NSDV. Det här schemat definierar de indata som operatorn behöver ange i konfigurationsgruppens värden när NSDV distribueras som en del av en platsnätverkstjänst (SNS). |
<nf-name>-mappings.json | Fil som mappar konfigurationsgruppens värden som tillhandahålls av operatorn till de distributionsparametrar som definierats i NSDV. Det finns en per NF i din NSDV |
nsd-cli-output | |
all_deploy.parameters.json | Superuppsättning av alla NF:s distributionsparametrar, vilket ger en enda fil för att anpassa resursnamn. Värdena som matas ut till den här filen med kommandot build hämtas från filen nsd-input.jsonc. Du kan redigera värdena i den här filen innan du kör publiceringen, till exempel för att publicera till en annan plats eller använda ett annat utgivarnamn |
index.json | Fil som används internt vid publicering av resurser. Redigera inte |
Publicera nätverkstjänstdesignen (NSD)
Om du vill publicera NSD (Network Service Design) och dess associerade artefakter utfärdar du följande kommando:
az aosm nsd publish --build-output-folder nsd-cli-output
Gå till din publisher-resursgrupp för att observera och granska de resurser och artefakter som har skapats.
Dessa resurser skapas:
Resursnamn | Resurstyp |
---|---|
ubuntu-nsd | Nätverkstjänstdesignen. |
1.0.0 (ubuntu-nsd/1.0.0) | Designversionen för nätverkstjänsten. |
ubuntu-nsd-nsd-manifest-1-0-0 | Publisher Artifact Manifest. |
ConfigGroupSchema | Schema för konfigurationsgrupp. |