Share via


Schnellstart: Veröffentlichen von Ubuntu-VMs als virtualisierte Netzwerkfunktion (Virtual Network Function, VNF)

In diesem Schnellstart wird beschrieben, wie Sie die Azure CLI-Erweiterung az aosm verwenden, um eine einfache Netzwerkfunktionsdefinition zu erstellen und zu veröffentlichen. Der Zweck ist es, den Workflow der AOSM-Ressourcen (Azure Operator Service Manager) des Herausgebers zu veranschaulichen. Die hier vorgestellten grundlegenden Konzepte sollen die Benutzer*innen auf die Erstellung spannenderer Dienste vorbereiten.

Voraussetzungen

Erstellen einer Eingabedatei

Führen Sie den folgenden Befehl aus, um die Eingabekonfigurationsdatei für die Netzwerkfunktionsdefinition (Network Function Definition, NFD) zu generieren.

az aosm nfd generate-config --definition-type vnf

Nachdem Sie diesen Befehl ausgeführt haben, wird eine Datei „input.json“ generiert.

Hinweis

Bearbeiten Sie die Datei „input.json“, und ersetzen Sie darin die im Beispiel gezeigten Werte. Speichern Sie die Datei als input-vnf-nfd.json.

Dies ist ein Beispiel für die Datei „input-vnf-nfd.json“:

{ 
    "publisher_name": "ubuntu-publisher", 
    "publisher_resource_group_name": "ubuntu-publisher-rg", 
    "nf_name": "ubuntu-vm", 
    "version": "1.0.0", 
    "acr_artifact_store_name": "ubuntu-acr", 
    "location": "uksouth", 
    "blob_artifact_store_name": "ubuntu-blob-store", 
    "image_name_parameter": "imageName", 
    "arm_template": { 
        "file_path": "ubuntu-template.json", 
        "version": "1.0.0" 
    }, 
    "vhd": { 
        "file_path": "livecd.ubuntu-cpc.azure.vhd", 
        "version": "1-0-0",
        "image_disk_size_GB": 30,
        "image_hyper_v_generation": "V1",
        "image_api_version": "2023-03-01"
    } 
} 
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. Wird erstellt, falls noch nicht vorhanden.
location Azure-Standort für das Erstellen von Ressourcen.
nf_name Name der NF-Definition.
Version Version der NF-Definition im Format A.B.C.
blob_artifact_store_name Name der Artefaktspeicherressource des Speicherkontos. Wird erstellt, falls noch nicht vorhanden.
image_name_parameter Der Parametername in der ARM-Vorlage für die VM, die den Namen des Images angibt, das für die VM verwendet werden soll.
arm_template artifact_name: Name des Artefakts.
file_path: Optional. Dateipfad des Artefakts, das Sie von Ihrem lokalen Datenträger hochladen möchten. Löschen Sie den Wert, falls er nicht erforderlich ist. Relative Pfade sind relativ zur Konfigurationsdatei. Unter Windows müssen umgekehrte Schrägstriche mit einem weiteren umgekehrten Schrägstrich als Escapezeichen versehen werden.
version: Version des Artefakts. Für ARM-Vorlagen muss die Version das Format A.B.C aufweisen.
vhd artifact_name: Name des Artefakts.
file_path: Optional. Dateipfad des Artefakts, das Sie von Ihrem lokalen Datenträger hochladen möchten. Löschen Sie den Wert, falls er nicht erforderlich ist. Relative Pfade sind relativ zur Konfigurationsdatei. Unter Windows müssen umgekehrte Schrägstriche mit einem weiteren umgekehrten Schrägstrich als Escapezeichen versehen werden.
blob_sas_url: Optional. SAS-URL des Blobartefakts, das Sie in den Artefaktspeicher kopieren möchten. Löschen Sie den Wert, falls er nicht erforderlich ist.
version: Version des Artefakts. Die Version des Artefakts. Für VHDs muss die Version das Format A-B-C aufweisen.
"image_disk_size_GB: Optional. Gibt die Größe leerer Datenträger in Gigabyte an. Dieser Wert darf nicht größer als 1023 GB sein. Löschen Sie den Wert, falls er nicht erforderlich ist.
image_hyper_v_generation: Optional. Gibt den HyperVGenerationType der virtualMachine an, die aus dem Image erstellt wurde. Gültige Werte sind V1 und V2. V1 ist der Standardwert, wenn er nicht angegeben ist. Löschen Sie den Wert, falls er nicht erforderlich ist.
image_api_version: Optional. Die ARM-API-Version, die zum Erstellen der Ressource "Microsoft.Compute/images" verwendet wird. Löschen Sie den Wert, falls er nicht erforderlich ist.

Hinweis

Bei Verwendung der Option file_path ist es wichtig, eine zuverlässige Internetverbindung mit ausreichender Bandbreite zu haben, da die Uploaddauer je nach Dateigröße variieren kann.

Wichtig

Jede in der obigen Tabelle beschriebene Variable muss eindeutig sein. Beispielsweise darf der Ressourcengruppenname nicht bereits vorhanden sein, und die Namen für Herausgeber- und Artefaktspeicher müssen in der Region eindeutig sein.

Erstellen der Netzwerkfunktionsdefinition (Network Function Definition, NFD)

Um die Netzwerkfunktionsdefinition (NFD) zu erstellen, initiieren Sie den Buildprozess.

az aosm nfd build -f input-vnf-nfd.json --definition-type vnf

Überprüfen Sie nach Abschluss des Builds die generierten Dateien, um die Struktur der Netzwerkfunktionsdefinition (NFD) besser zu verstehen.

Diese Dateien werden in einem Unterverzeichnis namens nfd-bicep-ubuntu-template erstellt:

Datei Beschreibung
configMappings Verzeichnis mit Dateien, die die Bereitstellungsparameter für die Version der Netzwerkfunktionsdefinition (NFDV) den Parametern zuordnen, die für die ARM-Vorlage der VM erforderlich sind.
schemas Verzeichnis mit Dateien, die die Bereitstellungsparameter definieren, die zum Erstellen einer Netzwerkfunktion (NF) aus dieser Version der Netzwerkfunktionsdefinition (NFDV) erforderlich sind.
vnfartifactmanifests.bicep Bicep-Vorlage zum Erstellen der Artefaktmanifeste.
Vnfdefinition.bicep Bicep-Vorlage zum Erstellen der Version der Netzwerkfunktionsdefinition (NFDV) selbst.

Hinweis

Bei einem Fehler besteht die einzige Korrekturmöglichkeit darin, den Befehl mit den richtigen Werten erneut auszuführen.

Veröffentlichen der Netzwerkfunktionsdefinition und Hochladen von Artefakten

Führen Sie den folgenden Befehl aus, um die Netzwerkfunktionsdefinition (NFD) zu veröffentlichen und die zugehörigen Artefakte hochzuladen:

az aosm nfd publish -f input-vnf-nfd.json --definition-type vnf

Überprüfen Sie nach Abschluss des Befehls die Ressourcen in Ihrer Herausgeberressourcengruppe, um die erstellten Komponenten und Artefakte zu sehen.

Diese Ressourcen werden erstellt:

Ressourcenname Ressourcentyp
ubuntu-vm-nfdg Netzwerkfunktionsdefinition.
1.0.0 Version der Netzwerkfunktionsdefinition.
ubuntu-publisher Publisher.
ubuntu-vm-acr-manifest-1-0-0 Artefaktmanifest des Herausgebers.
ubuntu-vm-sa-manifest-1-0-0 Artefaktmanifest des Herausgebers.
ubuntu-acr Artefaktspeicher des Herausgebers.
ubuntu-blob-store Artefaktspeicher des Herausgebers.

Hinweis

Die Erstellung der Artefaktspeicher dauert etwa 10 Minuten. Wenn die Ressource bereits vorhanden ist, läuft der Prozess erheblich schneller ab.

Nächste Schritte