Condividi tramite


Eseguire l'onboarding di una funzione di rete virtualizzata (VNF) per la distribuzione da Azure Operator Nexus ad Azure Operator Service Manager (AOSM)

In questa guida pratica, i pubblicatori di funzioni di rete e i progettisti di servizi imparano come utilizzare l'estensione AOSM della CLI di Azure per integrare una funzione di rete virtualizzata in AOSM. Questo VNF può essere distribuito successivamente in Azure Operator Nexus. L'onboarding è un processo in più passaggi. Dopo aver soddisfatto i prerequisiti, si userà l'estensione AOSM dell'interfaccia della riga di comando di Azure per:

  1. Generare file Bicep che definiscono un gruppo di definizioni di funzione di rete e una versione (NFD).
  2. Pubblicare l'NFD e caricare l'immagine VNF in un Archivio degli Artefatti (Registro Azure Container gestito da AOSM).
  3. Aggiungere l'NFD pubblicato ai file Bicep che definiscono un gruppo di progettazione e una versione del servizio di rete (NSD).
  4. Pubblicare il descrittore di sicurezza di rete.

Prerequisiti

Annotazioni

È consigliabile testare che la distribuzione della macchina virtuale abbia esito positivo nell'istanza di Azure Operator Nexus prima di eseguire l'onboarding del VNF in AOSM.

Immagini della macchina virtuale Nexus dell'operatore di Azure e modelli di Azure Resource Manager (ARM)

  • È stata creata un'immagine per la macchina virtuale Nexus dell'operatore di Azure. Questa immagine deve essere disponibile in un Azure Container Registry (ACR).

  • Hai creato un modello ARM che distribuisce una macchina virtuale Azure Operator Nexus.

  • Il modello arm della macchina virtuale (sia per AzureCore che per Azure Operator Nexus) può distribuire solo le risorse ARM dai provider di risorse seguenti

    • Microsoft.Compute
    • Microsoft.Network
    • Microsoft.NetworkCloud
    • Microsoft.Storage
    • Microsoft.NetworkFabric
    • Microsoft.Authorization
    • Microsoft.ManagedIdentity
  • Il modello ARM VNF deve implementare una macchina virtuale. È possibile distribuire più macchine virtuali includendo più istanze di NFDV nella NSDV.

Configura autorizzazioni

  • È necessario il ruolo Collaboratore per la sottoscrizione per creare un gruppo di risorse o un gruppo di risorse esistente in cui si ha il ruolo Collaboratore.
  • Sono necessarie le Reader/AcrPull assegnazioni di ruolo nel Registro Azure Container di origine contenente le immagini.
  • Sono necessarie le assegnazioni di Contributor ruolo e AcrPush nella sottoscrizione che conterrà l'archivio artefatto gestito di AOSM. Queste autorizzazioni consentono all'estensione AOSM dell'Azure CLI di eseguire una copia diretta da ACR a ACR. La copia diretta è il metodo più rapido per trasferire le immagini da un ACR (Azure Container Registry) a un altro.
    • La politica aziendale potrebbe impedirti di avere autorizzazioni con ambito sottoscrizione. Il --no-subscription-permissions parametro, disponibile nei az aosm nfd publish comandi e az aosm nsd publish , usa autorizzazioni con ambito limitato derivate dal servizio AOSM per orchestrare una copia in due passaggi da e verso il computer locale. Questa copia in due passaggi è più lenta, ma non richiede autorizzazioni con ambito abbonamento.

Scarica e installa l'interfaccia della riga di comando di Azure

Per installare l'interfaccia della riga di comando di Azure in locale, vedere Come installare l'interfaccia della riga di comando di Azure.

Per accedere all'interfaccia della riga di comando di Azure, usare il az login comando e completare i prompt visualizzati nel terminale per completare l'autenticazione. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.

Annotazioni

Se si esegue in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. È anche possibile usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvia Cloud Shell per usare l'ambiente Bash in Azure Cloud Shell.

Motore Helm e Docker

Installare l'estensione dell'interfaccia della riga di comando di AOSM

L'estensione AOSM dell'interfaccia della riga di comando di Az richiede la versione 2.54.0 o successiva dell'interfaccia della riga di comando di Azure.

  1. Eseguire az version per vedere la versione e le librerie dipendenti installate.
  2. Eseguire az upgrade per eseguire l'aggiornamento alla versione corrente dell'interfaccia della riga di comando di Azure.

Installare l'estensione dell'interfaccia della riga di comando di AOSM usando questo comando:

az extension add --name aosm

Creare il gruppo di definizioni e la versione della funzione di rete

Questa sezione crea una cartella nella directory di lavoro denominata vnf-cli-output con i file Bicep delle risorse di AOSM che definiscono il Gruppo di Definizione e Versione della Funzione di Rete e l'Archivio Artefatti. Queste risorse verranno infine incluse nella progettazione del servizio di rete

  1. Generare il file di input dell'estensione AOSM per Azure CLI per un VNF.

    az aosm nfd generate-config --definition-type vnf-nexus --output-file <filename.jsonc>
    
  2. Aprire il file di input generato nel passaggio precedente e usare i commenti inline per immettere i valori richiesti. Questo esempio mostra il file di input dell'estensione AOSM dell'interfaccia della riga di comando di Az per un VNF fittizio contoso, che viene eseguito in Azure Operator Nexus.

    Annotazioni

    L'estensione AOSM della CLI di Azure espone per impostazione predefinita solo i parametri obbligatori senza valori predefiniti nel modello ARM di input. È possibile impostare expose_all_parameters su true per esporre tutti i parametri del modello arm nella versione di definizione della funzione di rete (NFDV) e nello schema del gruppo di configurazione (CGS). Per informazioni più dettagliate, vedere Esporre i parametri usando l'estensione dell'interfaccia della riga di comando di AOSM .

    {
        // Azure location to use when creating resources e.g uksouth
        "location": "eastus",
        // Name of the Publisher resource you want your definition published to.
        // Will be created if it does not exist.
        "publisher_name": "contoso",
        // Resource group for the Publisher resource.
        // Will be created if it does not exist.
        "publisher_resource_group_name": "contoso-vnf",
        // Name of the ACR Artifact Store resource.
        // Will be created if it does not exist.
        "acr_artifact_store_name": "contoso-vnf-artifact-store",
        // Name of the network function.
        "nf_name": "contoso-vnf",
        // Version of the network function definition in 1.1.1 format (three integers separated by dots).
        "version": "1.0.0",
        // If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
        // If not set or set to false, only required parameters without defaults will be exposed.
        "expose_all_parameters": false,
        // ARM template configuration. The ARM templates given here would deploy a VM if run. They will be used to generate the VNF.
        "arm_templates": [
            {
                // Name of the artifact. Used as internal reference only.
                "artifact_name": "contoso-vnf",
                // Version of the artifact in 1.1.1 format (three integers separated by dots).
                "version": "1.0.0",
                // File path (absolute or relative to this configuration file) of the artifact you wish to upload from your local disk.
                // Use Linux slash (/) file separator even if running on Windows.
                "file_path": "/home/contoso-vnf/contoso-vnf-arm-template.json"
            }
        ],
        // List of images to be pulled from the acr registry.
        // You must provide the source acr registry, the image name and the version.
        // For example: 'sourceacr.azurecr.io/imagename:imageversion'.
        "images": ["contoso-vnf.azurecr.io/contosovnf:1.0.0"]
    }```
    
    
  3. Eseguire il comando seguente per compilare il gruppo di definizioni di funzione di rete e la versione.

az aosm nfd build --definition-type vnf-nexus --config-file <filename.jsonc>

Pubblicare il gruppo di definizioni e la versione della funzione di rete

Questo passaggio crea le risorse di AOSM che definiscono la definizione della funzione di rete e l'archivio artefatti che verranno usati per archiviare le immagini della macchina virtuale della funzione di rete. Carica anche le immagini nell'Archivio artefatti copiandole direttamente dal Registro Azure Container di origine oppure, se non si dispone di ambito Contributor e AcrPush ruoli della sottoscrizione, contrassegnando nuovamente le immagini Docker in locale e caricandole nell'Archivio artefatti usando credenziali con ambito stretto generate dal servizio AOSM.

  1. Eseguire il comando seguente per pubblicare il gruppo di definizioni di funzione di rete e la versione. Se l'ambito Contributor e AcrPush i ruoli della sottoscrizione non sono disponibili, includere --no-subscription-permissions nel comando .
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf

È possibile esaminare la struttura di cartelle e file e apportare modifiche, se necessario.

Creare il gruppo di progettazione e la versione del servizio di rete

Questa sezione crea una cartella nella directory di lavoro denominata nsd-cli-output. Questa cartella contiene i file Bicep delle risorse AOSM che definiscono un gruppo di progettazione e una versione del servizio di rete. Questa progettazione del servizio di rete è un modello usato nella risorsa servizio di rete del sito che distribuirà la funzione di rete di cui è stato eseguito l'onboarding nelle sezioni precedenti.

  1. Generare il file di input NSD dell'estensione AOSM per Azure CLI.

    az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
    
  2. Aprire il file di input generato nel passaggio precedente e usare i commenti inline per immettere i valori richiesti. Il file di input generato contiene un valore aggiuntivo resource_element_type di tipo ArmTemplate. Questo non è necessario quando si esegue l'onboarding di un VNF; è possibile eliminarlo. Questo esempio mostra il file di input dell'estensione AOSM della CLI di Azure per un NSD fittizio Contoso, il quale può essere utilizzato per implementare un VNF fittizio Contoso in un'istanza di Azure Operator Nexus.

    {
        // Azure location to use when creating resources e.g uksouth
        "location": "eastus",
        // Name of the Publisher resource you want your definition published to.
        // Will be created if it does not exist.
        "publisher_name": "contoso",
        // Resource group for the Publisher resource.
        // Will be created if it does not exist.
        "publisher_resource_group_name": "contoso-vnf",
        // Name of the ACR Artifact Store resource.
        // Will be created if it does not exist.
        "acr_artifact_store_name": "contoso-vnf-artifact-store",
        // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
        "nsd_name": "contoso-vnf-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": "An NSD that deploys the onboarded contoso-vnf NFD",
        // 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": "contoso",
                    // The resource group that the publisher is hosted in.
                    "publisher_resource_group": "contoso-vnf",
                    // 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": "contoso-vnf",
                    // 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": "eastus",
                    // Type of Network Function. Valid values are 'cnf' or 'vnf'.
                    "type": "vnf"
                }
            }
        ]
    }
    

    Annotazioni

    La sezione del modello di elemento di risorsa definisce quale NFD è incluso nel descrittore di servizio di rete. Le proprietà devono corrispondere a quelle usate nel file di input passato al az aosm nfd build comando . Ciò è dovuto al fatto che l'estensione AOSM dell'interfaccia della riga di comando di Azure convalida che l'NFD è stato correttamente integrato durante la creazione del descrittore del servizio di rete.

  3. Eseguire il comando seguente per compilare i file Network Service Design Group e Version Bicep.

az aosm nsd build --config-file <nsd-output-filename.jsonc>

È possibile esaminare la struttura di cartelle e file e apportare modifiche, se necessario.

Pubblicare la progettazione del servizio di rete (NSD)

Questo passaggio crea le risorse AOSM che definiscono il gruppo e la versione del servizio di rete. Carica anche gli artefatti richiesti dal NSD nell'Artifact Store (modello ARM della funzione di rete).

  1. Eseguire il seguente comando per pubblicare il Gruppo di Progettazione del Servizio di Rete e la Versione. Se l'ambito Contributor e AcrPush i ruoli della sottoscrizione non sono disponibili, includere --no-subscription-permissions nel comando .
az aosm nsd publish --build-output-folder nsd-cli-output

Ora avete un set completo di risorse dell'editore AOSM e siete pronti per eseguire il flusso operativo.

Passaggi successivi