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
- Er is een Azure-account met een actief abonnement vereist. Als u geen Azure-abonnement hebt, volgt u de instructies hier Gratis om een account te maken voordat u begint.
- Voltooi de quickstart: Nginx-container publiceren als Containerized Network Function (CNF).
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.