Condividi tramite


Guida introduttiva: Progettare una progettazione del servizio di rete (NSD) per una macchina virtuale Ubuntu come funzione di rete virtualizzata (VNF)

Questa guida introduttiva descrive come usare l'estensione dell'interfaccia della riga di comando di Azure az aosm per creare e pubblicare una progettazione di base del servizio di rete.

Prerequisiti

È richiesto un account Azure con una sottoscrizione attiva. Se non si dispone di una sottoscrizione di Azure, seguire le istruzioni riportate qui Iniziare gratuitamente per creare un account prima di iniziare.

È necessario seguire i prerequisiti in Avvio rapido: Pubblicare una macchina virtuale Ubuntu (VM) come funzione di rete virtuale (VNF).

Creare un file di input

Creare un file di input per la pubblicazione della progettazione del servizio di rete. Eseguire il comando seguente per generare il file di configurazione di input per NSD (Network Service Design).

az aosm nsd generate-config

Un file nsd-input.jsonc viene generato quando si esegue questo comando.

Nota

Modificare il file nsd-input.jsonc, sostituendolo con i valori mostrati nell'esempio. Rimuovere la sezione in cui resource_element_type è impostata su ArmTemplate. Si tratta dell'aggiunta di un'infrastruttura, ad esempio reti virtuali, a NSD più complicate, che non sono necessarie in questo argomento di avvio rapido. Salvare il file come input-vnf-nsd.jsonc.

Se il nome dell'autore è stato modificato durante la pubblicazione del valore NFDV, usare il nome dell'editore per i campi publisher_name e publisher (quest'ultimo si trova all'interno della matrice di resource_element_templates).

Se è stato usato un nome di gruppo di risorse diverso, aggiornare i campi publisher_resource_group_name e publisher_resource_group (quest'ultimo si trova all'interno della matrice 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"
        }
    }
  ]
}
Variabile Descrizione
publisher_name Nome della risorsa del server di pubblicazione in cui si vuole pubblicare la definizione. Se non esiste viene creato.
publisher_resource_group_name Gruppo di risorse per la risorsa del server di pubblicazione. Se non esiste viene creato.
acr_artifact_store_name Nome della risorsa archivio artefatti del Registro Azure Container. Se non esiste viene creato.
location Posizione di Azure da usare durante la creazione delle risorse.
funzioni di rete publisher: il nome dell'editore in cui è pubblicata la versione NFDV (Network Function Definition Version).
publisher_resource_group: gruppo di risorse in cui è ospitato il server di pubblicazione.
name: nome del gruppo di definizioni di funzione di rete esistente da distribuire usando questo NSD.
version: versione della definizione di funzione di rete esistente per basare questo NSD. Questo NSD è in grado di distribuire qualsiasi NFDV con parametri di distribuzione compatibili con questa versione.
publisher_offering_location: area in cui è pubblicato il valore NFDV.
type: tipo di funzione di rete. I valori validi sono cnf o vnf.
nsd_name Nome gruppo di progettazione del servizio di rete. Raccolta di versioni di progettazione dei servizi di rete. Se non esiste viene creato.
nsd_version Versione del gruppo di sicurezza di rete da creare. Il formato deve essere A.B.C.
nsdv_description Descrizione del NSDV.

Creare la progettazione del servizio di rete (NSD)

Avviare il processo di compilazione per la progettazione del servizio di rete usando il comando seguente:

az aosm nsd build --config-file input-vnf-nsd.jsonc

Al termine del processo di compilazione, esaminare i file generati seguenti per ottenere informazioni dettagliate sull'architettura e la struttura del gruppo di sicurezza di rete.

Questi file vengono creati in una sottodirectory denominata nsd-cli-output:

Directory/File Descrizione
nsd-cli-output/artifactManifest
deploy.bicep Modello Bicep per creare il manifesto dell'artefatto, con artefatti popolati a partire dal file di input
nsd-cli-output/artifacts
artifacts.json Elenco di artefatti (immagini e modelli ARM) da caricare durante la pubblicazione. È relazionato al manifesto dell'artefatto
<nf-name>.bicep Modello Bicep per funzione di rete (NF) fornito nel file di input, per la distribuzione del valore NF. Questo modello viene convertito in un modello di Resource Manager e caricato nell'archivio artefatti quando si esegue il comando publish
nsd-cli-output/base
deploy.bicep Modello Bicep per creare il gruppo di progettazione del server di pubblicazione, degli account di archiviazione e del servizio di rete condiviso da tutti i gruppi NSD di questo gruppo NSD
nsd-cli-output/nsdDefinition
deploy.bicep Modello Bicep per creare la versione NSDV (Network Service Design Version). Questo modello contiene modelli di elemento risorsa figlio, tratti dai modelli NFS o ARM pubblicati (per l'infrastruttura) definiti nel file nsd-input.jsonc
config-group-schema.json Schema del gruppo di configurazione combinato per tutte le NFS in questo NSDV. Questo schema definisce gli input che l'operatore deve fornire nei valori del gruppo di configurazione durante la distribuzione di NSDV come parte di un servizio di rete del sito (SNS).
<nf-name>-mappings.json File che esegue il mapping dei valori del gruppo di configurazione forniti dall'operatore ai parametri di distribuzione definiti nella NSDV. Ce n'è uno per NF nella NSDV
nsd-cli-output
all_deploy.parameters.json Superset di tutti i parametri di distribuzione della funzione di rete, che fornisce un singolo file per personalizzare i nomi delle risorse. I valori restituiti in questo file dal comando di compilazione vengono ricavati dal file nsd-input.jsonc. È possibile modificare i valori in questo file prima di eseguire la pubblicazione, ad esempio per pubblicare in un percorso diverso o usare un nome di autore diverso
index.json File usato internamente durante la pubblicazione delle risorse. Non modificare

Pubblicare la progettazione del servizio di rete (NSD)

Per pubblicare la progettazione del servizio di rete (NSD) e gli artefatti associati, eseguire il comando seguente:

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

Passare al gruppo di risorse del server di pubblicazione per osservare ed esaminare le risorse e gli artefatti prodotti.

Vengono create queste risorse:

Nome della risorsa Tipo di risorsa
ubuntu-nsd Progettazione del servizio di rete.
1.0.0 (ubuntu-nsd/1.0.0) Versione di progettazione del servizio di rete.
ubuntu-nsd-nsd-manifest-1-0-0 Manifesto dell'artefatto del server di pubblicazione.
ConfigGroupSchema Schema del gruppo di configurazione.

Passaggi successivi