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
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.
Die Rolle „Mitwirkender“ für dieses Abonnement, um eine Ressourcengruppe zu erstellen, oder eine vorhandene Ressourcengruppe, in der Sie über die Rolle „Mitwirkender“ verfügen.
Es wird auch davon ausgegangen, dass Sie die Voraussetzungen im Schnellstart: Abschließen der Voraussetzungen für die Bereitstellung einer virtualisierten Netzwerkfunktion im Azure Operator Service Manager abgeschlossen haben.
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.