Condividi tramite


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

Questa guida pratica illustra come usare l'estensione AOSM dell'interfaccia della riga di comando di Azure per eseguire l'onboarding di 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 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 gruppo di sicurezza di rete.

Prerequisiti

Nota

È 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 Registro Azure Container.

  • È stato creato un modello di Resource Manager che distribuisce una macchina virtuale Nexus operatore di Azure.

  • 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 distribuire 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'interfaccia della riga di comando di Azure di eseguire una copia diretta da Registro Azure Container a Registro Azure Container. La copia diretta è il metodo più rapido per trasferire le immagini da un Registro Azure Container a un altro.
    • I criteri aziendali potrebbero impedire la presenza di 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 sottoscrizione.

Scaricare e installare 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.

Nota

Per l'esecuzione 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 Avviare Cloud Shell per usare l'ambiente Bash in Azure Cloud Shell.

Motore Helm e Docker

  • Installare l'interfaccia della riga di comando helm nel computer host. È necessario usare Helm v3.8.0 o versione successiva.
  • Installare Docker nel computer host.

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 visualizzare 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 modelli BICEP delle risorse di AOSM che definiscono il gruppo di definizione e la 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 dell'interfaccia della riga di comando di Azure 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.

    Nota

    L'estensione AOSM dell'interfaccia della riga di comando di Azure espone solo i parametri obbligatori senza valori predefiniti nel modello arm di input per impostazione predefinita. È 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 modelli 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 dell'interfaccia della riga di comando di Azure.

    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 dell'interfaccia della riga di comando di Az per un NSD fittizio contoso che può essere usato per distribuire 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"
                }
            }
        ]
    }
    

    Nota

    La sezione modello di elemento della risorsa definisce quale NFD è incluso nel gruppo di sicurezza 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'onboarding dell'NFD è stato eseguito correttamente durante la compilazione del gruppo di sicurezza di rete.

  3. Eseguire il comando seguente per compilare i modelli BICEP e gruppo di progettazione del servizio di rete.

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 gruppo di sicurezza di rete nell'archivio artefatti (modello arm della funzione di rete).

  1. Eseguire il comando seguente per pubblicare il gruppo e la versione del servizio di rete. 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 disponibile un set completo di risorse dell'editore AOSM e si è pronti per eseguire il flusso dell'operatore.

Passaggi successivi