Freigeben über


Schnellstart: Entwerfen eines CNF-Netzwerkdienstentwurfs (Containernetzwerkfunktion) mit NGINX

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

Erstellen einer Eingabedatei

Erstellen Sie eine Eingabedatei zum Veröffentlichen der Netzwerkdienstentwurfsversion und der zugehörigen Ressourcen. Führen Sie den folgenden Befehl aus, um die Eingabekonfigurationsdatei für den Netzwerkdienstentwurfsversion (Network Service Design Version, NSDV) zu generieren.

az aosm nsd generate-config

Mit der Ausführung des obigen Befehls generieren Sie eine Datei vom Typ „nsd-input.jsonc“.

Hinweis

Bearbeiten Sie die Datei „input.json“. Ersetzen Sie darin die im folgenden Beispiel gezeigten Werte. Speichern Sie die Datei unter dem Namen input-cnf-nsd.jsons.

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).

Hier ist ein Beispiel für die Datei input-cnf-nsd.jsonc:

{
  // 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": "nginx-publisher",
  // Resource group for the Publisher resource.
  // Will be created if it does not exist.
  "publisher_resource_group_name": "nginx-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "nginx-nsd-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": "nginx-nsdg",
  // 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": "Deploys a basic NGINX CNF",
  // 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": "nginx-publisher",
        // The resource group that the publisher is hosted in.
        "publisher_resource_group": "nginx-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": "nginx",
        // 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": "cnf"
      }
    }
  ]
}
  • publisher_name: Name der Herausgeberressource, unter der Ihre Definition veröffentlicht werden soll. Diese wird erstellt, falls sie noch nicht vorhanden ist.
  • publisher_resource_group_name: Ressourcengruppe für die Herausgeberressource. Diese wird erstellt, falls sie noch nicht vorhanden ist. Für diesen Schnellstart wird empfohlen, dieselbe Ressourcengruppe zu verwenden, die Sie beim Veröffentlichen der Netzwerkfunktionsdefinition verwendet haben.
  • acr_artifact_store_name: Name der ACR-Artefaktspeicherressource. Diese wird erstellt, falls sie noch nicht vorhanden ist.
  • location: Azure-Standort für das Erstellen von Ressourcen.
  • nsd_name: Name der Netzwerkdienstentwurfsgruppe. Die Sammlung der Versionen des Netzwerkdienstentwurfs. Diese wird erstellt, falls sie noch nicht vorhanden ist.
  • nsd_version: Version des erstellten NSD. Das Format lautet: A.B.C.
  • nsdv_description: Beschreibung des NSDV.
  • resource_element_templates:
    • publisher: Name des Herausgebers, unter dem dieser NFDV 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. Dies ist derselbe Name wie der Name der NF, wenn Sie Ihre NFDV über die CLI veröffentlicht haben.
    • 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 der NFDV veröffentlicht wird.
    • type: Typ der Netzwerkfunktion. Gültige Werte sind „cnf“ oder „vnf“.

Kompilieren der Version des Netzwerkdienstentwurfs (NSDV)

Initiieren Sie den Kompilierungsprozess für die NSDV mithilfe des folgenden Befehls:

az aosm nsd build -f input-cnf-nsd.jsonc

Der Kompilierungsprozess generiert einen Ordner namens nsd-cli-output. Überprüfen Sie nach Abschluss des Kompilierungsprozesses die generierten Dateien, um Erkenntnisse zur Architektur und Struktur der NSDV und der zugehörigen Ressourcen zu gewinnen.

Diese Dateien werden erstellt:

Verzeichnis/Datei Beschreibung
nsdDefinition/config-group-schema.json Definiert das Schema für die Bereitstellungsparameter, die zur Erstellung eines Site Network Service (SNS) aus dieser NSDV erforderlich sind.
nsdDefinition/nginx-nsd-mappings.json Ordnet die Parameter für die NSDV den Werten zu, die für die NF-ARM-Vorlage erforderlich sind.
nsdDefinition/deploy.bicep Bicep-Vorlage zum Erstellen der NSDV selbst.
artifacts Enthält eine Bicep-Vorlage für die NF ARM-Vorlage sowie eine Liste der Artefakte, die im Artefaktmanifest enthalten sein sollen.
artifactManifest/deploy.bicep Bicep-Vorlage zum Erstellen des Artefaktmanifests.
base/deploy.bicep Bicep-Vorlage zum Erstellen der Herausgeber-, Netzwerkdienstentwurfsgruppe und Artefaktspeicherressourcen

Veröffentlichen der Netzwerkdienstentwurfsversion (NSDV)

Um die NSDV 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 nach Abschluss des Veröffentlichungsprozesses zu Ihrer Ressourcengruppe „Herausgeber“, um die erstellten Ressourcen und Artefakte anzuzeigen und zu überprüfen.

Nächste Schritte