Condividi tramite


Guida introduttiva: Progettare una progettazione di servizi di rete in contenitori con Nginx

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

Creare un file di input

Creare un file di input per la pubblicazione della versione di progettazione del servizio di rete e delle risorse associate. Eseguire il comando seguente per generare il file di configurazione di input per la versione NSDV (Network Service Design Version).

az aosm nsd generate-config

L'esecuzione del comando precedente genera un file nsd-input.jsonc.

Nota

Modificare il file input.json. Sostituirlo con i valori mostrati nell'esempio seguente. Salvare il file come input-cnf-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).

Ecco un esempio di 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 - Nome della risorsa del server di pubblicazione in cui si vuole pubblicare la definizione. Creato se non esiste già.
  • publisher_resource_group_name: gruppo di risorse per la risorsa del server di pubblicazione. Creato se non esiste già. Per questa guida introduttiva, è consigliabile usare lo stesso gruppo di risorse usato durante la pubblicazione della definizione di funzione di rete.
  • acr_artifact_store_name: nome della risorsa dell'archivio artefatti del Registro Azure Container. Creato se non esiste già.
  • percorso: posizione di Azure da usare durante la creazione di risorse.
  • nsd_name: nome del gruppo di progettazione del servizio di rete. Raccolta di versioni di Network Service Design. Creato se non esiste già.
  • nsd_version: versione del gruppo di sicurezza di rete in fase di creazione. Nel formato A.B.C.
  • nsdv_description: descrizione del NSDV.
  • resource_element_templates:
    • publisher: nome dell'editore in cui è pubblicato questo NFDV.
    • 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. Questo sarà lo stesso del nome NF se è stato pubblicato il valore NFDV usando l'interfaccia della riga di comando.
    • versione: 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.
    • tipo: tipo di funzione di rete. I valori validi sono cnf o vnf.

Compilare la versione di progettazione del servizio di rete (NSDV)

Avviare il processo di compilazione per NSDV usando il comando seguente:

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

Il processo di compilazione genera una cartella denominata nsd-cli-output. Al termine del processo di compilazione, esaminare i file generati per ottenere informazioni dettagliate sull'architettura e la struttura NSDV e quella delle risorse associate.

Questi file vengono creati:

Directory/File Descrizione
nsdDefinition/config-group-schema.json Definisce lo schema per i parametri di distribuzione necessari per creare un servizio di rete del sito (SNS) da questo NSDV.
nsdDefinition/nginx-nsd-mappings.json Esegue il mapping dei parametri per NSDV ai valori necessari per il modello ARM NF.
nsdDefinition/deploy.bicep Modello Bicep per la creazione del NSDV stesso.
artifacts Contiene un modello bicep per il modello ARM NF, nonché un elenco di elementi da includere nel manifesto dell'artefatto.
artifactManifest/deploy.bicep Modello Bicep per la creazione del manifesto dell'artefatto.
base/deploy.bicep Modello Bicep per la creazione di risorse dell'editore, del gruppo di progettazione del servizio di rete e dell'archivio artefatti

Pubblicare la versione di progettazione del servizio di rete (NSDV)

Per pubblicare NSDV e gli artefatti associati, eseguire il comando seguente:

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

Al termine del processo di pubblicazione, passare al gruppo di risorse del server di pubblicazione per osservare ed esaminare le risorse e gli artefatti prodotti.

Passaggi successivi