Démarrage rapide : Concevoir une conception de services réseau (NSD) pour la machine virtuelle (VM) Ubuntu en tant que fonction réseau virtualisée (VNF)
Ce démarrage rapide décrit comment utiliser l’extension Azure CLI az aosm
pour créer et publier une conception de service réseau de base.
Prérequis
Un compte Azure avec un abonnement actif est requis. Si vous n'avez pas d'abonnement Azure, suivez les instructions de Commencez gratuitement pour créer un compte avant de commencer.
Vous devez suivre les prérequis dans le Guide de démarrage rapide : publier une machine virtuelle Ubuntu en tant que fonction de réseau virtuel (VNF).
Créer un fichier d'entrée
Créez un fichier d'entrée pour publier la conception de service réseau. Exécutez la commande suivante pour générer le fichier de configuration d’entrée pour Network Service Design (NSD).
az aosm nsd generate-config
Un fichier nsd-input.jsonc
est généré lorsque vous exécutez cette commande.
Remarque
Modifiez le fichier nsd-input.jsonc en le remplaçant par les valeurs affichées dans l'exemple. Supprimez la section dans laquelle resource_element_type est défini sur ArmTemplate. Cela permet d’ajouter une infrastructure (comme des réseaux virtuels) à des NSD plus complexes, ce qui n’est pas nécessaire dans ce guide de démarrage rapide. Enregistrez le fichier sous input-vnf-nsd.jsonc.
Si vous avez modifié le nom de l’éditeur lors de la publication du NFDV, utilisez le nom de votre éditeur pour les champs publisher_name
et publisher
(ce dernier se trouve dans le tableau resource_element_templates
).
Si vous avez utilisé un autre nom de groupe de ressources, mettez à jour les champs publisher_resource_group_name
et publisher_resource_group
(ce dernier se trouve dans le tableau resource_element_templates
).
{
// 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": "ubuntu-publisher",
// Resource group for the Publisher resource.
// You should create this before running the publish command.
"publisher_resource_group_name": "ubuntu-publisher-rg",
// Name of the ACR Artifact Store resource.
// Will be created if it does not exist.
"acr_artifact_store_name": "ubuntu-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": "ubuntu-nsd",
// 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": "Plain ubuntu VM",
// 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": "ubuntu-publisher",
// The resource group that the publisher is hosted in.
"publisher_resource_group": "ubuntu-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": "ubuntu-vm",
// 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": "vnf"
}
}
]
}
Variable | Description |
---|---|
publisher_name | Nom de la ressource Publisher sur laquelle vous souhaitez publier votre définition. Créé s'il n'existe pas. |
publisher_resource_group_name | Groupe de ressources pour la ressource Publisher. Créé s'il n'existe pas. |
acr_artifact_store_name | Nom de la ressource Azure Container Registry (ACR) Artifact Store. Créé s'il n'existe pas. |
location | Emplacement Azure à utiliser lors de la création de ressources. |
network-functions | Serveur de publication : nom de la base de données du serveur de publication sous lequel cette version de définition de fonction réseau (NFDV) est publiée. |
publisher_resource_group : Groupe de ressources dans lequel l'éditeur est hébergé. | |
nom : Nom du groupe de définition de fonction réseau existant à déployer à l'aide de ce NSD. | |
version : La version de la définition de fonction réseau existante sur laquelle baser ce NSD. Ce NSD est capable de déployer n'importe quel NFDV avec des paramètres de déploiement compatibles avec cette version. | |
publisher_offering_location : Région dans laquelle le NFDV est publié. | |
type : Type de fonction réseau. Les valeurs valides sont cnf ou vnf. | |
nsd_name | Nom du groupe de conception de services réseau. La collection de versions de conception de services réseau. Créé s'il n'existe pas. |
nsd_version | Version du NSD à créer. Le format doit être A.B.C. |
nsdv_description | Description du NSDV. |
Construire la conception de services réseau (NSD)
Lancez le processus de création de la définition de la conception du service réseau (NSD) en utilisant la commande suivante :
az aosm nsd build --config-file input-vnf-nsd.jsonc
Une fois le processus de création terminé, examinez les fichiers générés suivants pour obtenir un aperçu de l'architecture et de la structure du NSD.
Ces fichiers sont créés dans un sous-répertoire appelé nsd-cli-output :
Répertoire / Fichier | Description |
---|---|
nsd-cli-output/artifactManifest | |
deploy.bicep | Modèle Bicep pour créer un manifeste d’artefact, avec des artefacts remplis à partir du fichier d’entrée |
nsd-cli-output/artifacts | |
artifacts.json | Liste des artefacts (images et modèles ARM) à charger lors de la publication. Met en corrélation le manifeste d’artefact |
<nf-name>.bicep | Modèle Bicep par fonction réseau (NF) RET fourni dans le fichier d’entrée, pour le déploiement du NF. Ce modèle est converti en modèle ARM et chargé dans le magasin d’artefacts lorsque vous exécutez la commande de publication |
nsd-cli-output/base | |
deploy.bicep | Modèle Bicep pour créer le serveur de publication, les comptes de stockage et le groupe de conception de service réseau partagé par tous les NSDVs de ce groupe NSD |
nsd-cli-output/nsdDefinition | |
deploy.bicep | Modèle Bicep pour créer la version de conception du service réseau (NSDV). Ce modèle contient des modèles d’éléments de ressources enfants, qui sont extraits des modèles NFs ou ARM publiés (pour l’infrastructure) définis dans le fichier nsd-input.jsonc |
config-group-schema.json | Schéma de groupe de configuration combiné pour toutes les NFs de ce NSDV. Ce schéma définit les entrées que l’opérateur doit fournir dans les valeurs du groupe de configuration lors du déploiement du NSDV dans le cadre d’un service de réseau de site (SNS). |
<nf-name>-mappings.json | Fichier qui mappe les valeurs du groupe de configuration fournies par l’opérateur aux paramètres de déploiement définis dans le NSDV. Il y en a un par NF dans votre NSDV |
nsd-cli-output | |
all_deploy.parameters.json | Superset de tous les paramètres de déploiement de NF, fournissant un seul fichier pour personnaliser les noms de ressources. Les valeurs sorties dans ce fichier par la commande build sont extraites du fichier nsd-input.jsonc. Vous pouvez modifier les valeurs de ce fichier avant d’exécuter la publication, par exemple pour publier dans un autre emplacement ou utiliser un autre nom d’éditeur |
index.json | Fichier utilisé en interne lors de la publication de ressources. Ne modifiez pas |
Publier la conception de services réseau (NSD)
Pour publier la conception de services réseau (NSD) et ses artefacts associés, exécutez la commande suivante :
az aosm nsd publish --build-output-folder nsd-cli-output
Accédez à votre groupe de ressources du serveur de publication pour observer et examiner les ressources et artefacts qui ont été produits.
Ces ressources sont créées :
Nom de la ressource | Type de ressource |
---|---|
ubuntu-nsd | La conception des services réseau. |
1.0.0 (ubuntu-nsd/1.0.0) | La version de conception de services réseau. |
ubuntu-nsd-nsd-manifest-1-0-0 | Manifeste d’artefact de l’éditeur. |
ConfigGroupSchema | Le schéma du groupe de configuration. |