Schnellstart: Entwerfen eines Netzwerkdienstentwurfs (Network Service Design, NSD) für Ubuntu-VMs als virtualisierte Netzwerkfunktion (VNF)
In diesem Schnellstart wird beschrieben, wie Sie die Azure CLI-Erweiterung az aosm
verwenden, um einen einfachen Netzwerkdienstentwurf zu erstellen und zu veröffentlichen.
Voraussetzungen
Ein Azure-Konto mit einem aktiven Abonnement ist erforderlich. Wenn Sie kein Azure-Abonnement haben, folgen Sie vorab den Anweisungen unter Kostenlos starten, um ein Konto zu erstellen.
Sie müssen die Voraussetzungen im Schnellstart: Veröffentlichen von Ubuntu-VMs als virtualisierte Netzwerkfunktion (VNF).
Erstellen einer Eingabedatei
Erstellen Sie eine Eingabedatei zum Veröffentlichen des Netzwerkdienstentwurfs. Führen Sie den folgenden Befehl aus, um die Eingabekonfigurationsdatei für den Netzwerkdienstentwurf (Network Service Design, NSD) zu generieren.
az aosm nsd generate-config
Wenn Sie diesen Befehl ausführen, wird eine Datei nsd-input.jsonc
generiert.
Hinweis
Bearbeiten Sie die Datei „nsd-input.jsonc“, und ersetzen Sie darin die im Beispiel gezeigten Werte. Entfernen Sie den Abschnitt, in dem „resource_element_type“ auf „ArmTemplate“ festgelegt ist. Dies dient zum Hinzufügen von Infrastruktur (z. B. VNets) zu komplizierteren NSDs, die in diesem Schnellstart nicht benötigt werden. Speichern Sie die Datei unter dem Namen input-vnf-nsd.jsonc.
Wenn Sie den Namen des Herausgebers beim Veröffentlichen der NFDV (Network Function Definition Version, Version der Netzwerkfunktionsdefinition) geändert haben, verwenden Sie Ihren Herausgebernamen für die Felder publisher_name
und publisher
(Letzteres ist im resource_element_templates
-Array enthalten).
Wenn Sie einen anderen Ressourcengruppennamen verwendet haben, aktualisieren Sie die Felder publisher_resource_group_name
und publisher_resource_group
(Letzteres ist im resource_element_templates
-Array enthalten).
{
// 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"
}
}
]
}
Variable | Beschreibung |
---|---|
publisher_name | Name der Herausgeberressource, unter der Ihre Definition veröffentlicht werden soll. Wird erstellt, falls noch nicht vorhanden. |
publisher_resource_group_name | Ressourcengruppe für die Herausgeberressource. Wird erstellt, falls noch nicht vorhanden. |
acr_artifact_store_name | Name der ACR-Artefaktspeicherressource (Azure Container Registry). Wird erstellt, falls noch nicht vorhanden. |
location | Azure-Standort für das Erstellen von Ressourcen. |
network-functions | publisher: Name des Herausgebers, unter dem diese NFDV (Network Function Definition Version) veröffentlicht wird. |
publisher_resource_group: Ressourcengruppe, in der der Herausgeber gehostet wird. | |
name: Name der vorhandenen Netzwerkfunktionsdefinitionsgruppe, die mithilfe dieses NSD bereitgestellt werden soll. | |
version: Version der vorhandenen Netzwerkfunktionsdefinition, auf der dieser NSD basieren soll. Dieser NSD kann alle NFDV mit Bereitstellungsparametern bereitstellen, die mit dieser Version kompatibel sind. | |
publisher_offering_location: Region, in der die NFDV veröffentlicht wird. | |
type: Typ der Netzwerkfunktion. Gültige Werte sind „cnf“ oder „vnf“. | |
nsd_name | Name der Netzwerkdienstentwurfsgruppe. Die Sammlung der Versionen des Netzwerkdienstentwurfs. Wird erstellt, falls noch nicht vorhanden. |
nsd_version | Version des zu erstellenden NSD. Das Format sollte A.B.C sein. |
nsdv_description | Beschreibung der NSDV. |
Erstellen des Netzwerkdienstentwurfs (Network Service Design, NSD)
Initiieren Sie den Buildprozess für den Netzwerkdienstentwurf (Network Service Design, NSD) mithilfe des folgenden Befehls:
az aosm nsd build --config-file input-vnf-nsd.jsonc
Überprüfen Sie nach Abschluss des Buildprozesses die folgenden generierten Dateien, um Erkenntnisse zur Architektur und Struktur der NSD zu gewinnen.
Diese Dateien werden im Unterverzeichnis nsd-cli-output erstellt:
Verzeichnis/Datei | Beschreibung |
---|---|
nsd-cli-output/artifactManifest | |
deploy.bicep | Bicep-Vorlage zum Erstellen des Artefaktmanifests mit Artefakten, die aus der Eingabedatei ausgefüllt werden |
nsd-cli-output/artifacts | |
artifacts.json | Liste der Artefakte (Images und ARM-Vorlagen), die beim Veröffentlichen hochgeladen werden sollen. Korreliert mit dem Artefaktmanifest |
<nf-name>.bicep | Bicep-Vorlage pro NF-RET (Network Function), die in der Eingabedatei zur Bereitstellung der NF angegeben ist. Diese Vorlage wird in eine ARM-Vorlage konvertiert und beim Ausführen des Veröffentlichungsbefehls in den Artefaktspeicher hochgeladen. |
nsd-cli-output/base | |
deploy.bicep | Bicep-Vorlage zum Erstellen von Herausgeber, Speicherkonten und Netzwerkdienstentwurfsgruppe, die von allen NSDVs dieser NSD-Gruppe gemeinsam genutzt wird |
nsd-cli-output/nsdDefinition | |
deploy.bicep | Bicep-Vorlage zum Erstellen der NSDV (Network Service Design Version). Diese Vorlage enthält untergeordnete Vorlagen für Ressourcenelemente, die aus den veröffentlichten NFs oder ARM-Vorlagen (bei einer Infrastruktur) stammen, die in der Datei „nsd-input.jsonc“ definiert sind. |
config-group-schema.json | Kombiniertes Konfigurationsgruppenschema für alle NFs in dieser NSDV. Dieses Schema definiert die Eingaben, die der Operator bei der Bereitstellung der NSDV als Teil eines Standortnetzwerkdiensts (SNS) in den Konfigurationsgruppenwerten angeben muss. |
<nf-name>-mappings.json | Datei, die die vom Operator bereitgestellten Konfigurationsgruppenwerte den in der NSDV definierten Bereitstellungsparametern zuordnet. Es gibt eine pro NF in Ihrer NSDV. |
nsd-cli-output | |
all_deploy.parameters.json | Obermenge aller NF-Bereitstellungsparameter in einer einzelnen Datei zum Anpassen von Ressourcennamen. Die Werte, die vom Buildbefehl in diese Datei ausgegeben werden, stammen aus der Datei „nsd-input.jsonc“. Sie können die Werte aber vor dem Ausführen der Veröffentlichung in dieser Datei bearbeiten, um z. B. die Veröffentlichung an einem anderen Speicherort durchzuführen oder einen anderen Herausgebernamen zu verwenden. |
index.json | Intern beim Veröffentlichen von Ressourcen verwendete Datei. Nicht bearbeiten |
Veröffentlichen des Netzwerkdienstentwurfs (Network Service Design, NSD)
Um den Netzwerkdienstentwurf (Network Service Design, NSD) und die zugehörigen Artefakte zu veröffentlichen, geben Sie den folgenden Befehl aus:
az aosm nsd publish --build-output-folder nsd-cli-output
Navigieren Sie zu Ihrer Herausgeberressourcengruppe, um die erstellten Ressourcen und Artefakte zu beobachten und zu überprüfen.
Diese Ressourcen werden erstellt:
Ressourcenname | Ressourcentyp |
---|---|
ubuntu-nsd | Der Netzwerkdienstentwurf. |
1.0.0 (ubuntu-nsd/1.0.0) | Die Version des Netzwerkdienstentwurfs. |
ubuntu-nsd-nsd-manifest-1-0-0 | Artefaktmanifest des Herausgebers. |
ConfigGroupSchema | Das Konfigurationsgruppenschema. |