Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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-afbeelding naar een Artefactopslag (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.
Vereiste voorwaarden
- 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.
Opmerking
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 VM-installatiekopieën en Azure Resource Manager-sjablonen
U hebt een afbeelding gemaakt voor de Azure Operator Nexus virtuele machine. Deze afbeelding moet 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.Opslag
- 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 van Inzender nodig voor uw abonnement om een nieuwe resourcegroep te maken, of gebruik een bestaande resourcegroep waarin u al de Inzender-rol hebt.
- U hebt de
Reader/AcrPullroltoewijzingen voor de bron-ACR met uw afbeeldingen nodig. - U hebt de
ContributorenAcrPushroltoewijzingen voor het abonnement nodig dat de AOSM managed Artifact Store bevat. 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 gedefinieerde machtigingen die zijn afgeleid van de AOSM-service om een tweestaps kopie naar en van uw lokale computer uit te voeren. 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.
Opmerking
Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container te draaien. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren. 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 versionopdracht uit om de versie en afhankelijke bibliotheken te zien die zijn geïnstalleerd. - Voer
az upgradeeen 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 maakt u een map in de werkmap die wordt aangeroepen vnf-cli-output met de Bicep-bestanden 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-extensie-invoerbestand 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.
Opmerking
De Azure CLI AOSM-extensie bevat standaard alleen vereiste parameters zonder standaardwaarden in de ARM-invoersjabloon. U kunt
expose_all_parametersnaartrueinstellen om alle ARM-sjabloonparameters beschikbaar te maken in de Network Function Definition Version (NFDV) en de Configuration Group Schema (CGS). 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 afbeeldingen 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-afbeeldingen lokaal opnieuw te taggen en te uploaden naar de Artifact Store met behulp van strikt afgebakende referenties die zijn gegenereerd vanuit de AOSM-service.
- Voer de volgende opdracht uit om de netwerkfunctiedefinitiegroep en -versie te publiceren. Als u geen
ContributorenAcrPushrollen hebt binnen het abonnementsbereik, voeg--no-subscription-permissionstoe aan 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-bestanden 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_typevan het 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" } } ] }Opmerking
In de sectie resource-elementtemplate 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 buildopdracht 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 bestanden Network Service Design Group en Version Bicep 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
ContributorenAcrPushrollen hebt binnen het abonnementsbereik, voeg--no-subscription-permissionstoe aan de opdracht.
az aosm nsd publish --build-output-folder nsd-cli-output
U beschikt nu over een complete set AOSM-bronnen en bent klaar om de operatorflow uit te voeren.