Onboarding van een gevirtualiseerde netwerkfunctie (VNF) voor implementatie op Azure Operator Nexus naar Azure Operator Service Manager (AOSM)
In deze handleiding leren uitgevers en serviceontwerpers van netwerkfuncties hoe u de Azure CLI AOSM-extensie gebruikt om een gevirtualiseerde netwerkfunctie naar AOSM te onboarden. Deze VNF kan vervolgens worden geïmplementeerd op Azure Operator Nexus. Onboarding is een proces met meerdere stappen. Zodra u aan de vereisten voldoet, gebruikt u de Azure CLI AOSM-extensie voor het volgende:
- BICEP-bestanden genereren die een netwerkfunctiedefinitiegroep en -versie (NFD) definiëren.
- Publiceer de NFD en upload de VNF-installatiekopieën naar een Artefact Store (AOSM beheerd Azure Container Registry (ACR)).
- Voeg uw gepubliceerde NFD toe aan de BICEP-bestanden die een NSD (Network Service Design Group and Version) definiëren.
- Publiceer de NSD.
Vereisten
- U hebt toegang tot een Azure Operator Nexus-exemplaar en hebt de vereisten voor de implementatie van de workload voltooid.
- U hebt AOSM ingeschakeld voor uw Azure-abonnement.
Notitie
Het wordt sterk aanbevolen dat u hebt getest of de VM-implementatie op uw Azure Operator Nexus-exemplaar slaagt voordat u de VNF naar AOSM onboardt.
Azure Operator Nexus-installatiekopieën (VM)-installatiekopieën en ARM-sjablonen (Azure Resource Manager)
U hebt een installatiekopieën gemaakt voor de virtuele Machine van Azure Operator Nexus. Deze installatiekopieën moeten beschikbaar zijn in een ACR.
U hebt een ARM-sjabloon gemaakt waarmee een virtuele Machine van Azure Operator Nexus wordt geïmplementeerd.
De VM ARM-sjabloon (voor zowel AzureCore als Azure Operator Nexus) kan alleen ARM-resources van de volgende resourceproviders implementeren
- Microsoft.Compute
- Microsoft.Network
- Microsoft.NetworkCloud
- Microsoft.Storage
- Microsoft.NetworkFabric
- Microsoft.Authorization
- Microsoft.ManagedIdentity
De VNF ARM-sjabloon moet één VM implementeren. Meerdere VM's kunnen worden geïmplementeerd door meerdere exemplaren van de NFDV in de NSDV op te geven.
Machtigingen configureren
- U hebt de rol Inzender voor uw abonnement nodig om een resourcegroep of een bestaande resourcegroep te maken waarvoor u de rol Inzender hebt.
- U hebt de
Reader
/AcrPull
roltoewijzingen voor de bron-ACR met uw installatiekopieën nodig. - U hebt de
Contributor
enAcrPush
roltoewijzingen voor het abonnement nodig die het beheerde artefactarchief van de AOSM bevatten. Met deze machtigingen kan de Azure CLI AOSM-extensie een directe ACR-naar-ACR-kopie uitvoeren. Direct kopiëren is de snelste methode voor het overbrengen van afbeeldingen van de ene ACR naar de andere.- Uw bedrijfsbeleid voorkomt mogelijk dat u machtigingen voor abonnementsbereik hebt. De
--no-subscription-permissions
parameter, die beschikbaar is voor deaz aosm nfd publish
enaz aosm nsd publish
opdrachten, maakt gebruik van strikt bereikmachtigingen die zijn afgeleid van de AOSM-service om een kopie in twee stappen naar en van uw lokale computer te organiseren. Deze tweestapskopie is langzamer, maar hiervoor zijn geen machtigingen voor abonnementsbereik vereist.
- Uw bedrijfsbeleid voorkomt mogelijk dat u machtigingen voor abonnementsbereik hebt. De
Azure CLI downloaden en installeren
Als u Azure CLI lokaal wilt installeren, raadpleegt u De Azure CLI installeren.
Als u zich wilt aanmelden bij de Azure CLI, gebruikt u de az login
opdracht en voert u de aanwijzingen uit die in uw terminal worden weergegeven om de verificatie te voltooien. Raadpleeg Aanmelden met Azure CLI voor meer aanmeldingsopties.
Notitie
Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie. U kunt ook de Bash-omgeving gebruiken in de Azure Cloud Shell. Zie De Cloud Shell starten voor het gebruik van de Bash-omgeving in Azure Cloud Shell voor meer informatie.
Helm- en Docker-engine
- Installeer Helm CLI op de hostcomputer. U moet Helm v3.8.0 of hoger gebruiken.
- Installeer Docker op de hostcomputer.
AOSM CLI-extensie installeren
Voor de Az CLI AOSM-extensie is versie 2.54.0 of hoger van de Azure CLI vereist.
- Voer deze
az version
opdracht uit om de versie en afhankelijke bibliotheken te zien die zijn geïnstalleerd. - Voer
az upgrade
een upgrade uit naar de huidige versie van Azure CLI.
Installeer de AOSM CLI-extensie met behulp van deze opdracht:
az extension add --name aosm
De netwerkfunctiedefinitiegroep en -versie bouwen
In deze sectie wordt een map gemaakt in de werkmap die wordt aangeroepen vnf-cli-output
met de BICEP-sjablonen van de AOSM-resources die uw netwerkfunctiedefinitiegroep en -versie definiëren, en de Artifact Store. Deze resources worden uiteindelijk opgenomen in uw netwerkserviceontwerp
Genereer het azure CLI AOSM-extensieinvoerbestand voor een VNF.
az aosm nfd generate-config --definition-type vnf-nexus --output-file <filename.jsonc>
Open het invoerbestand dat u in de vorige stap hebt gegenereerd en gebruik de inlineopmerkingen om de vereiste waarden in te voeren. In dit voorbeeld ziet u het invoerbestand voor de Az CLI AOSM-extensie voor een fictieve Contoso VNF, die wordt uitgevoerd op Azure Operator Nexus.
Notitie
De Azure CLI AOSM-extensie bevat standaard alleen vereiste parameters zonder standaardwaarden in de ARM-invoersjabloon. U kunt instellen
expose_all_parameters
om alle ARM-sjabloonparameters beschikbaar tetrue
maken in de Network Function Definition Version (NFDV) en CGS (Configuration Group Schema). Zie Parameter beschikbaar maken met behulp van de AOSM CLI-extensie voor meer gedetailleerde informatie.{ // 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"] }```
Voer de volgende opdracht uit om de netwerkfunctiedefinitiegroep en -versie te bouwen.
az aosm nfd build --definition-type vnf-nexus --config-file <filename.jsonc>
De netwerkfunctiedefinitiegroep en -versie publiceren
Met deze stap maakt u de AOSM-resources die de definitie van de netwerkfunctie en het artefactarchief definiëren die worden gebruikt voor het opslaan van de VM-installatiekopieën van de netwerkfunctie. De installatiekopieën worden ook geüpload naar de Artifact Store door ze rechtstreeks vanuit de bron-ACR te kopiëren of, als u geen abonnementsbereik Contributor
en AcrPush
rollen hebt, door de docker-installatiekopieën lokaal opnieuw in te stellen en te uploaden naar de Artifact Store met behulp van nauw bereikreferenties die zijn gegenereerd vanuit de AOSM-service.
- Voer de volgende opdracht uit om de netwerkfunctiedefinitiegroep en -versie te publiceren. Als u geen abonnementsbereik
Contributor
enAcrPush
-rollen hebt, neemt--no-subscription-permissions
u deze op in de opdracht.
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
U kunt de map- en bestandsstructuur bekijken en indien nodig wijzigingen aanbrengen.
De netwerkserviceontwerpgroep en -versie bouwen
In deze sectie wordt een map gemaakt in de werkmap met de naam nsd-cli-output
. Deze map bevat de BICEP-sjablonen van de AOSM-resources die een netwerkserviceontwerpgroep en -versie definiëren. Dit netwerkserviceontwerp is een sjabloon die wordt gebruikt in de sitenetwerkserviceresource waarmee de netwerkfunctie wordt geïmplementeerd die u in de vorige secties hebt uitgevoerd.
Genereer het NSD-invoerbestand voor de Azure CLI AOSM-extensie.
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
Open het invoerbestand dat u in de vorige stap hebt gegenereerd en gebruik de inlineopmerkingen om de vereiste waarden in te voeren. Het gegenereerde invoerbestand bevat een extra
resource_element_type
typeArmTemplate
. Dit is niet nodig bij het onboarden van een VNF; u kunt deze verwijderen. In dit voorbeeld ziet u het invoerbestand voor de Az CLI AOSM-extensie voor een fictieve Contoso NSD die kan worden gebruikt om een fictieve Contoso VNF te implementeren op een Azure Operator Nexus-exemplaar.{ // 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" } } ] }
Notitie
In de sectie resource-elementsjabloon wordt gedefinieerd welke NFD is opgenomen in de NSD. De eigenschappen moeten overeenkomen met de eigenschappen die worden gebruikt in het invoerbestand dat aan de
az aosm nfd build
opdracht is doorgegeven. Dit komt doordat de Azure CLI AOSM-extensie valideert dat de NFD correct is ge onboardd bij het bouwen van de NSD.Voer de volgende opdracht uit om de BICEP-sjablonen voor netwerkserviceontwerpgroep en versie te bouwen.
az aosm nsd build --config-file <nsd-output-filename.jsonc>
U kunt de map- en bestandsstructuur bekijken en indien nodig wijzigingen aanbrengen.
Het netwerkserviceontwerp (NSD) publiceren
Met deze stap maakt u de AOSM-resources die de netwerkserviceontwerpgroep en -versie definiëren. Ook worden artefacten die door de NSD zijn vereist, geüpload naar de Artifact Store (ARM-sjabloon voor netwerkfuncties).
- Voer de volgende opdracht uit om de netwerkserviceontwerpgroep en -versie te publiceren. Als u geen abonnementsbereik
Contributor
enAcrPush
-rollen hebt, neemt--no-subscription-permissions
u deze op in de opdracht.
az aosm nsd publish --build-output-folder nsd-cli-output
U hebt nu een volledige set bronnen voor AOSM-uitgevers en kunt de operatorstroom uitvoeren.