Delen via


Quickstart: Een netwerkserviceontwerp met containernetwerkfunctie (CNF) ontwerpen met Nginx

In deze quickstart wordt beschreven hoe u de az aosm Azure CLI-extensie gebruikt om een eenvoudig netwerkserviceontwerp te maken en publiceren.

Vereisten

Invoerbestand maken

Maak een invoerbestand voor het publiceren van de netwerkserviceontwerpversie en de bijbehorende resources. Voer de volgende opdracht uit om het invoerconfiguratiebestand voor de NSDV (Network Service Design Version) te genereren.

az aosm nsd generate-config

De uitvoering van de voorgaande opdracht genereert een nsd-input.jsonc-bestand.

Notitie

Bewerk het input.json bestand. Vervang deze door de waarden die worden weergegeven in het onderstaande voorbeeld. Sla het bestand op als input-cnf-nsd.jsonc.

Als u de naam van de uitgever hebt gewijzigd bij het publiceren van de NFDV, gebruikt u de naam van de uitgever voor zowel de als publisher de publisher_name velden (de laatste bevindt zich in de resource_element_templates matrix).

Als u een andere resourcegroepnaam hebt gebruikt, werkt u zowel de velden als de publisher_resource_group_name publisher_resource_group velden bij (de laatste bevindt zich binnen de resource_element_templates matrix).

Hier volgt een voorbeeld van 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: de naam van de Publisher-resource waarnaar u de definitie wilt publiceren. Gemaakt als deze nog niet bestaat.
  • publisher_resource_group_name - Resourcegroep voor de Publisher-resource. Gemaakt als deze nog niet bestaat. Voor deze quickstart is het raadzaam om dezelfde resourcegroep te gebruiken die u hebt gebruikt bij het publiceren van de definitie van de netwerkfunctie.
  • acr_artifact_store_name - Naam van de ACR Artifact Store-resource. Gemaakt als deze nog niet bestaat.
  • locatie : de Azure-locatie die moet worden gebruikt bij het maken van resources.
  • nsd_name : de naam van de netwerkserviceontwerpgroep. De verzameling netwerkserviceontwerpversies. Gemaakt als deze nog niet bestaat.
  • nsd_version : de versie van de NSD die wordt gemaakt. In de indeling A.B.C.
  • nsdv_description - De beschrijving van de NSDV.
  • resource_element_templates:
    • publisher : de naam van de uitgever waaronder deze NFDV wordt gepubliceerd.
    • publisher_resource_group: de resourcegroep waarin de uitgever wordt gehost.
    • name : de naam van de bestaande netwerkfunctiedefinitiegroep die moet worden geïmplementeerd met behulp van deze NSD. Dit is hetzelfde als de NF-naam als u uw NFDV hebt gepubliceerd met behulp van de CLI.
    • versie : de versie van de bestaande netwerkfunctiedefinitie waarop deze NSD moet worden gebaseerd. Deze NSD kan elke NFDV implementeren met implementatieparameters die compatibel zijn met deze versie.
    • publisher_offering_location : de regio waarnaar de NFDV is gepubliceerd.
    • type - Type netwerkfunctie. Geldige waarden zijn cnf of vnf.

Build the Network Service Design Version (NSDV)

Start het buildproces voor de NSDV met behulp van de volgende opdracht:

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

Het buildproces genereert een map met de naam nsd-cli-output. Nadat het buildproces is voltooid, controleert u de gegenereerde bestanden om inzicht te krijgen in de NSDV-architectuur en -structuur en die van de bijbehorende resources.

Deze bestanden worden gemaakt:

Map/bestand Beschrijving
nsdDefinition/config-group-schema.json Definieert het schema voor de implementatieparameters die vereist zijn voor het maken van een SNS (Site Network Service) op basis van deze NSDV.
nsdDefinition/nginx-nsd-mappings.json Hiermee worden de parameters voor de NSDV toegewezen aan de waarden die vereist zijn voor de NF ARM-sjabloon.
nsdDefinition/deploy.bicep Bicep-sjabloon voor het maken van de NSDV zelf.
Artefacten Bevat een bicep-sjabloon voor de NF ARM-sjabloon, evenals een lijst met artefacten die moeten worden opgenomen in het artefactmanifest.
artifactManifest/deploy.bicep Bicep-sjabloon voor het maken van het artefactmanifest.
base/deploy.bicep Bicep-sjabloon voor het maken van de uitgever, netwerkserviceontwerpgroep en artefactopslagbronnen

De NSDV (Network Service Design Version) publiceren

Als u de NSDV en de bijbehorende artefacten wilt publiceren, voert u de volgende opdracht uit:

az aosm nsd publish --build-output-folder nsd-cli-output

Wanneer het publicatieproces is voltooid, gaat u naar de Publisher-resourcegroep om de resources en artefacten te bekijken en te controleren die zijn geproduceerd.

Volgende stappen