Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
- Generare file Bicep che definiscono un gruppo di definizioni di funzione di rete e una versione (NFD).
- Pubblicare l'NFD e caricare l'immagine VNF in un Archivio degli Artefatti (Registro Azure Container gestito da AOSM).
- Aggiungere l'NFD pubblicato ai file Bicep che definiscono un gruppo di progettazione e una versione del servizio di rete (NSD).
- Pubblicare il descrittore di sicurezza di rete.
Prerequisiti
- Si ha accesso a un'istanza di Azure Operator Nexus e sono stati completati i prerequisiti per la distribuzione del carico di lavoro.
- È stato abilitato AOSM nella sottoscrizione di Azure.
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 eAcrPush
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 neiaz aosm nfd publish
comandi eaz 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.
- La politica aziendale potrebbe impedirti di avere autorizzazioni con ambito sottoscrizione. Il
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'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.
- Eseguire
az version
per vedere la versione e le librerie dipendenti installate. - 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
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>
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
sutrue
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"] }```
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.
- Eseguire il comando seguente per pubblicare il gruppo di definizioni di funzione di rete e la versione. Se l'ambito
Contributor
eAcrPush
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.
Generare il file di input NSD dell'estensione AOSM per Azure CLI.
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
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 tipoArmTemplate
. 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.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).
- Eseguire il seguente comando per pubblicare il Gruppo di Progettazione del Servizio di Rete e la Versione. Se l'ambito
Contributor
eAcrPush
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.