Delen via


Quickstart: Een netwerkserviceontwerp (NSD) ontwerpen voor Ubuntu Virtual Machine (VM) als een gevirtualiseerde netwerkfunctie (VNF)

In deze quickstart wordt beschreven hoe u de az aosm Azure CLI-extensie gebruikt om een eenvoudig netwerkserviceontwerp te maken en publiceren.

Vereisten

Er is een Azure-account met een actief abonnement vereist. Als u geen Azure-abonnement hebt, volgt u de instructies hier Gratis om een account te maken voordat u begint.

U moet voldoen aan de vereisten in de quickstart: Ubuntu Virtual Machine (VM) publiceren als V.V. (Virtual Network Function).

Invoerbestand maken

Maak een invoerbestand voor het publiceren van het Network Service Design. Voer de volgende opdracht uit om het invoerconfiguratiebestand voor netwerkserviceontwerp (NSD) te genereren.

az aosm nsd generate-config

Er wordt een nsd-input.jsonc bestand gegenereerd wanneer u deze opdracht uitvoert.

Notitie

Bewerk het bestand nsd-input.jsonc en vervang het door de waarden in het voorbeeld. Verwijder de sectie waarin resource_element_type is ingesteld op ArmTemplate. Dit is bedoeld voor het toevoegen van infrastructuur (zoals VNets) aan complexere NSD's, die niet nodig zijn in deze quickstart. Sla het bestand op als input-vnf-nsd.jsonc.

Als u de naam van de uitgever hebt gewijzigd bij het publiceren van de NFDV, gebruikt u de naam van de uitgever voor zowel de als publisher de publisher_name velden (de laatste bevindt zich in de resource_element_templates matrix).

Als u een andere resourcegroepnaam hebt gebruikt, werkt u zowel de velden als de publisher_resource_group_name publisher_resource_group velden bij (de laatste bevindt zich binnen de resource_element_templates matrix).

{
  // 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"
        }
    }
  ]
}
Variabele Beschrijving
publisher_name De naam van de Publisher-resource waarnaar u de definitie wilt publiceren. Gemaakt als deze niet bestaat.
publisher_resource_group_name Resourcegroep voor de Publisher-resource. Gemaakt als deze niet bestaat.
acr_artifact_store_name Naam van de ACR-resource (Azure Container Registry) Artifact Store. Gemaakt als deze niet bestaat.
location Azure-locatie die moet worden gebruikt bij het maken van resources.
netwerkfuncties uitgever: de naam van de uitgever waaronder deze NFDV (Network Function Definition Version) wordt gepubliceerd.
publisher_resource_group: de resourcegroep waarin de uitgever wordt gehost.
name: De naam van de bestaande netwerkfunctiedefinitiegroep die moet worden geïmplementeerd met behulp van deze NSD.
versie: De versie van de bestaande netwerkfunctiedefinitie waarop deze NSD moet worden gebaseerd. Deze NSD kan elke NFDV implementeren met implementatieparameters die compatibel zijn met deze versie.
publisher_offering_location: de regio waarnaar de NFDV is gepubliceerd.
type: Type netwerkfunctie. Geldige waarden zijn cnf of vnf.
nsd_name Naam van netwerkserviceontwerpgroep. De verzameling netwerkserviceontwerpversies. Gemaakt als deze niet bestaat.
nsd_version Versie van de NSD die moet worden gemaakt. De indeling moet A.B.C zijn.
nsdv_description Beschrijving van de NSDV.

Het netwerkserviceontwerp (NSD) bouwen

Start het buildproces voor het netwerkserviceontwerp (NSD) met behulp van de volgende opdracht:

az aosm nsd build --config-file input-vnf-nsd.jsonc

Nadat het buildproces is voltooid, bekijkt u de volgende gegenereerde bestanden om inzicht te krijgen in de architectuur en structuur van de NSD.

Deze bestanden worden gemaakt in een submap met de naam nsd-cli-output:

Map/bestand Beschrijving
nsd-cli-output/artifactManifest
deploy.bicep Bicep-sjabloon voor het maken van artefactmanifest, met artefacten gevuld vanuit het invoerbestand
nsd-cli-output/artifacts
artifacts.json Lijst met artefacten (afbeeldingen en ARM-sjablonen) die moeten worden geüpload bij publiceren. Correleert met het artefactmanifest
<nf-name.bicep> Bicep-sjabloon per netwerkfunctie (NF) die is opgegeven in het invoerbestand, voor het implementeren van de NF. Deze sjabloon wordt geconverteerd naar een ARM-sjabloon en geüpload naar het artefactarchief wanneer u de publicatieopdracht uitvoert
nsd-cli-output/base
deploy.bicep Bicep-sjabloon voor het maken van de uitgever, opslagaccounts en netwerkserviceontwerpgroep die wordt gedeeld door alle NSDV's van deze NSD-groep
nsd-cli-output/nsdDefinition
deploy.bicep Bicep-sjabloon voor het maken van de Network Service Design Version (NSDV). Deze sjabloon bevat onderliggende resource-elementsjablonen, die afkomstig zijn van de gepubliceerde NFs of ARM-sjablonen (voor infrastructuur) die zijn gedefinieerd in het bestand nsd-input.jsonc
config-group-schema.json Gecombineerd schema voor configuratiegroepen voor alle NF's in deze NSDV. Dit schema definieert de invoer die de operator moet opgeven in de waarden van de configuratiegroep bij het implementeren van de NSDV als onderdeel van een sitenetwerkservice (SNS).
<nf-naam>-mappings.json Bestand dat de door de operator geleverde configuratiegroepwaarden toe wijst aan de implementatieparameters die zijn gedefinieerd in de NSDV. Er is één per NF in uw NSDV
nsd-cli-output
all_deploy.parameters.json Superset van alle implementatieparameters van NF, waarbij één bestand wordt geboden om resourcenamen aan te passen. De waarden die door de buildopdracht naar dit bestand worden uitgevoerd, worden opgehaald uit het bestand nsd-input.jsonc. U kunt de waarden in dit bestand bewerken voordat u publiceren uitvoert, bijvoorbeeld om naar een andere locatie te publiceren of een andere naam van de uitgever te gebruiken
index.json Bestand dat intern wordt gebruikt bij het publiceren van resources. Niet bewerken

Het netwerkserviceontwerp (NSD) publiceren

Als u het netwerkserviceontwerp (NSD) en de bijbehorende artefacten wilt publiceren, voert u de volgende opdracht uit:

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

Navigeer naar uw Publisher-resourcegroep om de resources en artefacten te bekijken die zijn geproduceerd.

Deze resources worden gemaakt:

Resourcenaam Resourcetype
ubuntu-nsd Het ontwerp van de netwerkservice.
1.0.0 (ubuntu-nsd/1.0.0) De ontwerpversie van de netwerkservice.
ubuntu-nsd-nsd-manifest-1-0-0 Manifest van Publisher-artefact.
ConfigGroupSchema Het schema van de configuratiegroep.

Volgende stappen