Share via


Verwenden der Cli-Erweiterung Azure Operator Service Manager (AOSM)

In dieser Anleitung erfahren Network Function Publisher und Service Designer, wie Sie die Azure CLI-Erweiterung für die ersten Schritte mit Network Function Definitions (NFDs) und Network Service Designs (NSDs) verwenden.

Die az aosm CLI-Erweiterung soll Unterstützung für die Veröffentlichung von Azure Operator Service Manager-Designs und Definitionen bieten. Die CLI-Erweiterung unterstützt die Veröffentlichung von Network Function Definitions (NFDs) und Netzwerkdienstdesigns (Network Service Designs, NSDs) für die Verwendung mit Azure Operator Service Manager.

Voraussetzungen

Wenden Sie sich an Ihr Microsoft-Kontoteam, um Ihr Azure-Abonnement für den Zugriff auf Azure Operator Service Manager (AOSM) zu registrieren oder Ihr Interesse über das Partnerregistrierungsformular auszudrücken.

Herunterladen und Installieren von Azure CLI

Verwenden Sie die Bash-Umgebung in der Azure Cloud Shell. Weitere Informationen finden Sie unter Starten der Cloud Shell zur Verwendung der Bash-Umgebung in Azure Cloud Shell.

Für Benutzer, die CLI-Referenzbefehle lieber lokal ausführen möchten, finden Sie informationen zum Installieren der Azure CLI.

Wenn Sie unter Windows oder macOS ausgeführt werden, sollten Sie azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

Wenn Sie eine lokale Installation verwenden, melden Sie sich mit dem Befehl bei der az login Azure CLI an, und schließen Sie die in Ihrem Terminal angezeigten Eingabeaufforderungen ab, um die Authentifizierung abzuschließen. Weitere Anmeldeoptionen finden Sie unter Anmelden mit Azure CLI.

Installieren der CLI-Erweiterung Azure Operator Service Manager (AOSM)

Installieren Sie die Cli-Erweiterung Azure Operator Service Manager (AOSM) mit diesem Befehl:

az extension add --name aosm
  1. Führen Sie die Ausführung aus az version , um die installierten Versions- und abhängigen Bibliotheken anzuzeigen.
  2. Führen Sie den az upgrade Befehl aus, um ein Upgrade auf die aktuelle Version von Azure CLI durchzuführen.

Registrieren und Überprüfen der erforderlichen Ressourcenanbieter

Bevor Sie mit der Verwendung des Azure Operator Service Manager beginnen, müssen Sie den erforderlichen Ressourcenanbieter registrieren. Führen Sie die folgenden Befehle aus. Dieser Registrierungsprozess kann bis zu 5 Minuten dauern.

# Register Resource Provider
az provider register --namespace Microsoft.HybridNetwork
az provider register --namespace Microsoft.ContainerRegistry

Überprüfen Sie den Registrierungsstatus der Ressourcenanbieter. Führen Sie die folgenden Befehle aus.

# Query the Resource Provider
az provider show -n Microsoft.HybridNetwork --query "{RegistrationState: registrationState, ProviderName: namespace}"
az provider show -n Microsoft.ContainerRegistry --query "{RegistrationState: registrationState, ProviderName: namespace}"

Hinweis

Es kann einige Minuten dauern, bis die Registrierung des Ressourcenanbieters abgeschlossen ist. Sobald die Registrierung erfolgreich ist, können Sie mit dem Azure Operator Service Manager (AOSM) fortfahren.

Anforderungen für containerisierte Netzwerkfunktion (CNF)

Für diejenigen, die containerisierte Netzwerkfunktionen verwenden, müssen Sie sicherstellen, dass die folgenden Pakete auf dem Computer installiert sind, von dem Aus Sie die CLI ausführen:

  • Install Helm, refer to Install Helm CLI.
  • Installieren Sie docker unter bestimmten Umständen unter "Installieren des Docker-Moduls". Nur erforderlich, wenn sich das Quellimage in Ihrem lokalen Docker-Repository befindet oder Sie keine abonnementweiten Berechtigungen besitzen, um Diagramme und Bilder zu pushen.

Berechtigungen

Ein Azure-Konto mit einem aktiven Abonnement ist erforderlich. Wenn Sie kein Azure-Abonnement haben, folgen Sie den Anweisungen hier "Start free ", um ein Konto zu erstellen, bevor Sie beginnen.

Sie benötigen die Rolle "Mitwirkender" für dieses Abonnement, um eine Ressourcengruppe oder eine vorhandene Ressourcengruppe zu erstellen, in der Sie über die Rolle "Mitwirkender" verfügen.

Berechtigungen zum Veröffentlichen von CNFs

Wenn Sie die CNF-Bilder aus einem vorhandenen ACR beziehen, müssen Reader/AcrPull Sie über Berechtigungen für dieses ACR verfügen und im Idealfall Contributor rollen + AcrPush Rolle (oder eine benutzerdefinierte Rolle, die die importImage Aktion und AcrPush) über das gesamte Abonnement zulässt, um in den neuen Artefaktspeicher importieren zu können. Wenn Sie über diese Verfügen, müssen Sie docker nicht lokal installieren, und die Imagekopie ist schnell.

Wenn Sie nicht über die abonnementweiten Berechtigungen verfügen, können Sie den Befehl mithilfe des az aosm nfd publish--no-subscription-permissions Flags ausführen, um das Bild auf Ihren lokalen Computer zu ziehen und es dann mithilfe von Manifestanmeldeinformationen, die nur auf den Speicher ausgerichtet sind, an den Artefaktspeicher zu übertragen. Erfordert, dass Docker lokal installiert wird.

Übersicht über die Cli-Erweiterung von Azure Operator Service Manager (AOSM)

Netzwerkfunktionsherverher und Dienstdesigner verwenden die Azure CLI-Erweiterung, um die Veröffentlichung von Netzwerkfunktionsdefinitionen (NETWORK Function Definitions, NFDs) und Netzwerkdienstdesigns (Network Service Designs, NSDs) zu erleichtern.

Wie in Rollen und Schnittstellen erläutert, hat ein Herausgeber einer Netzwerkfunktion verschiedene Zuständigkeiten. Die CLI-Erweiterung unterstützt die fett dargestellten Elemente:

  • Erstellen Sie die Netzwerkfunktion.
  • Codieren Sie dies in einem Netzwerkfunktionsdesign (NETWORK Function Design, NFD).
  • Bestimmen Sie die Bereitstellungsparameter, die für den Dienst-Designer verfügbar gemacht werden sollen.
  • Onboarding des Network Function Design (NFD) in Azure Operator Service Manager (AOSM).Onboard the Network Function Design (NFD) to Azure Operator Service Manager (AOSM).
  • Laden Sie die zugehörigen Artefakte hoch.
  • Überprüfen des Netzwerkfunktionsdesigns (NETWORK Function Design, NFD).

Ein Dienst-Designer hat auch verschiedene Zuständigkeiten, von denen die CLI-Erweiterung mit den Elementen fett formatiert unterstützt:

  • Wählen Sie aus, welche Netzwerkfunktionsdefinitionen im Dienstentwurf enthalten sind.
  • Codieren Sie dies in einen Netzwerkdienstentwurf.
  • Kombinieren Sie die Azure-Infrastruktur mit dem Netzwerkdienstdesign.
  • Bestimmen Sie, wie der Dienst parametrisiert wird, indem Sie ein oder mehrere Konfigurationsgruppenschemas (Configuration Group Schemas, CGSs) definieren.
  • Bestimmen Sie, wie Eingaben vom Dienstanbieter Parametern zugeordnet werden, die von den Netzwerkfunktionsdefinitionen und der Azure-Infrastruktur benötigt werden.
  • Onboarding des Netzwerkdienstdesigns (Network Service Design, NSD) in Azure Operator Service Manager (AOSM).
  • Laden Sie die zugehörigen Artefakte hoch.
  • Überprüfen des Netzwerkdienstentwurfs (Network Service Design, NSD).

Workflow-Zusammenfassung

Ein allgemeiner Workflow für die Verwendung der CLI-Erweiterung ist:

  1. Suchen Sie die erforderlichen Elemente für Ihren Anwendungsfall.

  2. Führen Sie einen generate-config Befehl aus, um eine BEISPIEL-JSON-Konfigurationsdatei für nachfolgende Befehle auszugeben.

  3. Füllen Sie die Konfigurationsdatei aus.

  4. Führen Sie einen build Befehl aus, um eine oder mehrere Bicep-Vorlagen für die Netzwerkfunktionsdefinition oder den Netzwerkdienstentwurf auszugeben.

  5. Überprüfen Sie die Ausgabe des Buildbefehls, bearbeiten Sie die Ausgabe nach Bedarf.

  6. Führen Sie einen publish Befehl aus, um:

    • Erstellen Sie alle erforderlichen Ressourcen wie Ressourcengruppe, Publisher, Artefaktspeicher, Gruppen.
    • Stellen Sie diese Bicep-Vorlagen bereit.
    • Laden Sie Artefakte in die Artefaktspeicher hoch.

VNF-Startpunkt

Für VNFs benötigen Sie eine einzelne ARM-Vorlage, die die Azure-Ressourcen für Ihre VNF erstellen würde, z. B. einen virtuellen Computer, Datenträger und NICs. Die ARM-Vorlage muss auf dem Computer gespeichert werden, auf dem Sie die CLI ausführen.

Für Virtualized Network Function Definition Versions (VNF NFDVs) muss die Liste "networkFunctionApplications" eine VhdImageFile- und eine ARM-Vorlage enthalten. Es ist ungewöhnlich, mehr als eine VhdImageFile- und mehr als eine ARM-Vorlage einzuschließen. Sofern Sie keinen starken Grund haben, sollte die ARM-Vorlage einen einzelnen virtuellen Computer bereitstellen. Der Dienst-Designer sollte zahlreiche Kopien der Network Function Definition (NFD) mit dem Netzwerkdienstentwurf (Network Service Design, NSD) enthalten, wenn Sie mehrere VMs bereitstellen möchten. Die ARM-Vorlage (für AzureCore und Nexus) kann nur ARM-Ressourcen von den folgenden Ressourcenanbietern bereitstellen:

  • Microsoft.Compute

  • Microsoft.Network

  • Microsoft.NetworkCloud

  • Microsoft.Storage

  • Microsoft.NetworkFabric

  • Microsoft.Authorization

  • Microsoft.ManagedIdentity

Außerdem benötigen Sie ein VHD-Image, das für den virtuellen VNF-Computer verwendet wird. Das VHD-Image kann auf dem Computer gespeichert werden, auf dem Sie die CLI ausführen, oder in Azure Blob Storage, auf das über einen SAS-URI zugegriffen werden kann.

CNF-Startpunkt

Für Bereitstellungen von Containerized Network Functions (CNFs) ist es wichtig, folgendes auf dem Computer zu speichern, von dem Aus Sie die CLI ausführen:

  • Helmpakete mit Schema – Diese Pakete sollten in Ihrem lokalen Speicher vorhanden sein und in der input.json Konfigurationsdatei referenziert werden. Wenn Sie dieser Schnellstartanleitung folgen, laden Sie das erforderliche Helmpaket herunter.

  • Erstellen einer Beispielkonfigurationsdatei – Generieren Sie eine Beispielkonfigurationsdatei zum Definieren einer CNF-Bereitstellung. Geben Sie diesen Befehl aus, um eine input.json Datei zu generieren, die Sie mit Ihrer spezifischen Konfiguration auffüllen müssen.

    az aosm nfd generate-config
    
  • Bilder für Ihren CNF – Hier sind die Optionen:

    • Ein Verweis auf eine vorhandene Azure-Containerregistrierung, die die Images für Ihren CNF enthält. Derzeit werden nur ein ACR und ein Namespace pro CNF unterstützt. Die bilder, die aus diesem ACR kopiert werden sollen, werden automatisch basierend auf dem Helmpaketschema aufgefüllt. Sie müssen über Lese-/AcrPull-Berechtigungen für diesen ACR verfügen. Um diese Option zu verwenden, füllen Sie die Datei "input.json" aus, und geben source_registry Sie sie optional source_registry_namespace ein.
    • Der Imagename des Docker-Quellimages vom lokalen Computer. Dieser Imagename ist für einen begrenzten Anwendungsfall vorgesehen, in dem der CNF nur ein einzelnes Docker-Image erfordert, das im lokalen Docker-Repository vorhanden ist. Um diese Option zu verwenden, füllen Sie source_local_docker_image die Datei "input.json" aus. Erfordert, dass Docker installiert ist. Diese Schnellstartanleitung führt Sie durch das Herunterladen eines nginx-Docker-Images, das für diese Option verwendet werden soll.
  • Optional: Zuordnungsdatei (path_to_mappings): Optional können Sie eine Datei (auf dem Datenträger) mit dem Namen path_to_mappings bereitstellen. Diese Datei sollte Spiegelvalues.yaml, wobei die ausgewählten Werte durch Bereitstellungsparameter ersetzt werden. Dadurch werden sie als Parameter für den CNF verfügbar gemacht. Oder Sie können dieses Leerzeichen beibehalten input.json , und die CLI generiert die Datei. In diesem Fall wird jeder Wert in values.yaml diesem Fall als Bereitstellungsparameter verfügbar gemacht. Alternativ können Sie das --interactive CLI-Argument verwenden, um interaktiv Entscheidungen zu treffen. Diese Schnellstartanleitung führt Sie durch die Erstellung dieser Datei.

Stellen Sie beim Konfigurieren der input.json Datei sicher, dass Sie die Helm-Pakete in der Reihenfolge auflisten, in der sie bereitgestellt werden sollen. Wenn beispielsweise das Paket "A" vor dem Paket "B" bereitgestellt werden muss, sollte die input.json folgende Struktur aussehen:

"helm_packages": [
    {
        "name": "A",
        "path_to_chart": "Path to package A",
        "path_to_mappings": "Path to package A mappings",
        "depends_on": [
            "Names of the Helm packages this package depends on"
        ]
    },
    {
        "name": "B",
        "path_to_chart": "Path to package B",
        "path_to_mappings": "Path to package B mappings",
        "depends_on": [
            "Names of the Helm packages this package depends on"
        ]
    }
]

Im Anschluss an diese Richtlinien wird ein gut organisierter und strukturierter Ansatz für die Bereitstellung von Containerized Network Functions (CNFs) mit Helm-Paketen und zugehörigen Konfigurationen sichergestellt.

NSD-Anfangspunkt

Für NSDs müssen Sie die Details der Netzwerkfunktionsdefinitionen (Network Function Definitions, NFDs) kennen, die in Ihr Design integriert werden sollen:

  • die NFD Publisher-Ressourcengruppe
  • Name und Bereich des NFD-Herausgebers
  • der Name der Netzwerkfunktionsdefinitionsgruppe
  • Speicherort, Typ und Version der Netzwerkfunktionsdefinitionsversion

Sie können die az aosm nfd Befehle verwenden, um alle diese Ressourcen zu erstellen.

Azure Operator Service Manager (AOSM)-Befehle

Verwenden Sie die folgenden Befehle, bevor Sie beginnen:

  1. az login wird verwendet, um sich bei der Azure CLI anzumelden.

  2. az account set --subscription <subscription> wird verwendet, um das Abonnement auszuwählen, an dem Sie arbeiten möchten.

NFD-Befehle

Hilfe zu Befehlsargumenten erhalten:

  • az aosm -h

  • az aosm nfd -h

  • az aosm nfd build -h

Definitionstypbefehle

Alle diese Befehle verwenden ein --definition-type Argument von vnf oder cnf.

Erstellen Sie eine Beispielkonfigurationsdatei zum Erstellen einer Definition:

  • az aosm nfd generate-config

Mit diesem Befehl wird eine Datei ausgegeben, die aufgerufen input.jsonwird, die ausgefüllt werden muss. Sobald die Konfigurationsdatei in den folgenden Befehlen ausgefüllt ist, können Sie ausführen.

Erstellen Sie eine NFD-Definition lokal:

  • az aosm nfd build --config-file input.json

Weitere Optionen zum lokalen Erstellen einer NFD-Definition:

  • Wählen Sie aus, welche der VNF ARM-Vorlagenparameter sie als NFD deploymentParameters verfügbar machen möchten, und wählen Sie die einzelnen Parameter interaktiv aus:

    • az aosm nfd build --config-file input.json --definition_type vnf --order_params
    • az aosm nfd build --config-file input.json --definition_type vnf --order_params --interactive

Wählen Sie aus, welche der CNF Helm-Werteparameter sie als NFD deploymentParameter verfügbar machen möchten:

  • az aosm nfd build --config-file input.json --definition_type cnf --interactive

Veröffentlichen Einer vordefinierten Definition:

  • az aosm nfd publish --config-file input.json

Löschen einer veröffentlichten Definition:

  • az aosm nfd delete --config-file input.json

Löschen Sie eine veröffentlichte Definition und den Herausgeber, Artefaktspeicher und NFD-Gruppe:

  • az aosm nfd delete --config-file input.json --clean

NSD-Befehle

Hilfe zu Befehlsargumenten erhalten:

  • az aosm -h

  • az aosm nsd -h

  • az aosm nsd build -h

Erstellen Sie eine Beispielkonfigurationsdatei zum Erstellen einer Definition:

  • az aosm nsd generate-config

Mit diesem Befehl wird eine Datei ausgegeben, die aufgerufen input.jsonwird, die ausgefüllt werden muss. Sobald die Konfigurationsdatei in den folgenden Befehlen ausgefüllt ist, können Sie ausführen.

Erstellen Sie einen NSD lokal:

  • az aosm nsd build --config-file input.json

Veröffentlichen Eines vorgefertigten Designs:

  • az aosm nsd publish --config-file input.json

Löschen eines veröffentlichten Designs:

  • az aosm nsd delete --config-file input.json

Löschen Sie ein veröffentlichtes Design und den Herausgeber, Artefaktspeicher und NSD-Gruppe:

  • az aosm nsd delete --config-file input.json --clean

Bearbeiten der Buildausgabe vor der Veröffentlichung

Die az aosm CLI-Erweiterung soll Unterstützung für die Veröffentlichung von Azure Operator Service Manager-Designs und Definitionen bieten. Sie stellt die Bausteine zum Erstellen komplexer benutzerdefinierter Designs und Definitionen bereit. Sie können die Dateiausgabe durch den build Befehl bearbeiten, bevor Sie den publish Befehl ausführen, um komplexere oder benutzerdefinierte Features hinzuzufügen.

Die vollständige API-Referenz für Azure Operator Service Manager ist hier: Azure Hybrid Network REST API.

In den folgenden Abschnitten werden einige gängige Methoden beschrieben, mit denen Sie die erstellten Dateien vor der Veröffentlichung bearbeiten können.

Network Function Definitions (NFDs)

  • Ändern Sie die versionStatenetworkfunctiondefinitionversions Ressource von Preview zu Active. Aktive NFDVs sind unveränderlich, während Vorschau-NFDVs änderbar und im Entwurfszustand sind.
  • Ändern Sie für CNFs den releaseNamespacehelmMappingRuleProfile Kubernetes-Namespace, für den das Diagramm bereitgestellt wird.

Netzwerkdienstdesigns (NSDs)

  • Fügen Sie Azure-Infrastruktur zu Ihrem Netzwerkdienstentwurf (Network Service Design, NSD) hinzu. Das Hinzufügen der Azure-Infrastruktur zu Ihren Möglichkeiten umfasst Folgendes:
    • Schreiben von ARM-Vorlagen zum Bereitstellen der Infrastruktur.
    • Hinzufügen von Konfigurationsgruppenschemas(CGSs) für diese ARM-Vorlagen.
    • Hinzufügen ResourceElementTemplates (RETs) vom Typ ArmResourceDefinition zu Ihrem NSD. Die RETs sehen mit RETs abgesehen vom Feld gleich NetworkFunctionDefinition aus type .
    • Hinzufügen der Infrastruktur-ARM-Vorlagen zur artifact_manifest.bicep Datei.
    • Bearbeiten sie die configMappings Dateien, um alle Ausgaben aus den Infrastrukturvorlagen als Eingaben für resourceElementTemplates NetworkFunctionDefinition zu integrieren. Beispiel: "customLocationId": "{outputparameters('infraretname').infraretname.customLocationId.value}"
    • Bearbeiten Sie die dependsOnProfileNetworkFunctionDefinition RessourcenelementTemplates (RETs), um sicherzustellen, dass Infrastruktur-RETs vor NF-RETs bereitgestellt werden.
  • Ändern Sie die versionStatenetworkservicedesignversions Ressource von Preview zu Active. Aktive NSDs sind unveränderlich, während Vorschau-NSDs änderbar und im Entwurfszustand sind.