Registrera en virtualiserad nätverksfunktion (VNF) för distribution på Azure Operator Nexus till Azure Operator Service Manager (AOSM)
I den här instruktionsguiden lär sig nätverksfunktionsutgivare och tjänstdesigners hur du använder Azure CLI AOSM-tillägget för att registrera en virtualiserad nätverksfunktion i AOSM. Denna VNF kan sedan distribueras på Azure Operator Nexus. Registrering är en process i flera steg. När du uppfyller kraven använder du Azure CLI AOSM-tillägget för att:
- Generera BICEP-filer som definierar en nätverksfunktionsdefinitionsgrupp och version (NFD).
- Publicera NFD och ladda upp VNF-avbildningen till ett artefaktarkiv (AOSM-hanterat Azure Container Registry (ACR)).
- Lägg till din publicerade NFD i BICEP-filerna som definierar en nätverkstjänstdesigngrupp och -version (NSD).
- Publicera NSD:n.
Förutsättningar
- Du har åtkomst till en Azure Operator Nexus-instans och har slutfört förutsättningarna för arbetsbelastningsdistribution.
- Du har aktiverat AOSM för din Azure-prenumeration.
Kommentar
Vi rekommenderar starkt att du har testat att distributionen av den virtuella datorn lyckas på din Azure Operator Nexus-instans innan du registrerar VNF till AOSM.
Avbildningar av virtuella Azure-operatörsdatorer (VM) och ARM-mallar (Azure Resource Manager)
Du har skapat en avbildning för den virtuella Azure-operatören Nexus-datorn. Den här avbildningen måste vara tillgänglig i en ACR.
Du har skapat en ARM-mall som distribuerar en virtuell Azure Operator Nexus-dator.
ARM-mallen för virtuella datorer (för både AzureCore och Azure Operator Nexus) kan bara distribuera ARM-resurser från följande resursprovidrar
- Microsoft.Compute
- Microsoft.Network
- Microsoft.NetworkCloud
- Microsoft.Storage
- Microsoft.NetworkFabric
- Microsoft.Authorization
- Microsoft.ManagedIdentity
VNF ARM-mallen ska distribuera en virtuell dator. Flera virtuella datorer kan distribueras genom att inkludera flera instanser av NFDV i NSDV.
Konfigurera behörigheter
- Du behöver rollen Deltagare för din prenumeration för att kunna skapa en resursgrupp eller en befintlig resursgrupp där du har rollen Deltagare.
- Du behöver
Reader
/AcrPull
rolltilldelningarna på käll-ACR som innehåller dina bilder. - Du behöver
Contributor
rolltilldelningarna ochAcrPush
för prenumerationen som ska innehålla det AOSM-hanterade artefaktarkivet. Med de här behörigheterna kan Azure CLI AOSM-tillägget göra en direkt ACR-till-ACR-kopia. Direktkopiering är den snabbaste metoden för att överföra bilder från en ACR till en annan.- Din företagsprincip kan hindra dig från att ha behörigheter med prenumerationsomfång. Parametern
--no-subscription-permissions
, som är tillgänglig föraz aosm nfd publish
kommandona ochaz aosm nsd publish
, använder strikt begränsade behörigheter som härleds från AOSM-tjänsten för att samordna en tvåstegskopia till och från den lokala datorn. Den här tvåstegskopian är långsammare, men kräver inte behörigheter med prenumerationsomfång.
- Din företagsprincip kan hindra dig från att ha behörigheter med prenumerationsomfång. Parametern
Ladda ned och installera Azure CLI
Om du vill installera Azure CLI lokalt läser du Så här installerar du Azure CLI.
Om du vill logga in på Azure CLI använder du az login
kommandot och slutför de uppmaningar som visas i terminalen för att slutföra autentiseringen. Fler inloggningsalternativ finns i Logga in med Azure CLI.
Kommentar
Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container. Du kan också använda Bash-miljön i Azure Cloud Shell. Mer information finns i Starta Cloud Shell för att använda Bash-miljön i Azure Cloud Shell.
Helm- och Docker-motor
- Installera Helm CLI på värddatorn. Du måste använda Helm v3.8.0 eller senare.
- Installera Docker på värddatorn.
Installera AOSM CLI-tillägget
Az CLI AOSM-tillägget kräver version 2.54.0 eller senare av Azure CLI.
- Kör
az version
för att se vilken version och beroende bibliotek som är installerade. - Kör
az upgrade
för att uppgradera till den aktuella versionen av Azure CLI.
Installera AOSM CLI-tillägget med det här kommandot:
az extension add --name aosm
Skapa nätverksfunktionsdefinitionsgruppen och -versionen
Det här avsnittet skapar en mapp i arbetskatalogen som heter vnf-cli-output
med BICEP-mallarna för de AOSM-resurser som definierar din nätverksfunktionsdefinitionsgrupp och version och Artefaktarkivet. Dessa resurser kommer i slutändan att ingå i din nätverkstjänstdesign
Generera indatafilen för Azure CLI AOSM-tillägget för en virtuell hårddisk.
az aosm nfd generate-config --definition-type vnf-nexus --output-file <filename.jsonc>
Öppna indatafilen som du genererade i föregående steg och använd infogade kommentarer för att ange de värden som krävs. Det här exemplet visar az CLI AOSM-tilläggets indatafil för en fiktiv Contoso VNF, som körs på Azure Operator Nexus.
Kommentar
Azure CLI AOSM-tillägget exponerar endast obligatoriska parametrar utan standardvärden i ARM-indatamallen som standard. Du kan ställa in
expose_all_parameters
påtrue
för att exponera alla ARM-mallparametrar i NFDV (Network Function Definition Version) och CONFIGURATION Group Schema (CGS). Mer detaljerad information finns i Exponera parameter med hjälp av AOSM CLI-tillägget .{ // 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"] }```
Kör följande kommando för att skapa nätverksfunktionens definitionsgrupp och version.
az aosm nfd build --definition-type vnf-nexus --config-file <filename.jsonc>
Publicera nätverksfunktionsdefinitionsgruppen och -versionen
Det här steget skapar de AOSM-resurser som definierar nätverksfunktionsdefinitionen och artefaktarkivet som ska användas för att lagra nätverksfunktionens VM-avbildningar. Den laddar också upp avbildningarna till Artefaktarkivet antingen genom att kopiera dem direkt från källans ACR eller, om du inte har prenumerationsomfång Contributor
och AcrPush
roller, genom att återinstallera Docker-avbildningarna lokalt och ladda upp dem till Artefaktarkivet med strikt begränsade autentiseringsuppgifter som genereras från AOSM-tjänsten.
- Kör följande kommando för att publicera nätverksfunktionens definitionsgrupp och version. Om du inte har prenumerationsomfång
Contributor
ochAcrPush
roller ska du inkludera--no-subscription-permissions
i kommandot .
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
Du kan granska mapp- och filstrukturen och göra ändringar om det behövs.
Skapa nätverkstjänstdesigngruppen och -versionen
Det här avsnittet skapar en mapp i arbetskatalogen med namnet nsd-cli-output
. Den här mappen innehåller BICEP-mallarna för de AOSM-resurser som definierar en nätverkstjänstdesigngrupp och version. Den här nätverkstjänstdesignen är en mall som används i resursen Site Network Service som distribuerar den nätverksfunktion som du registrerade i föregående avsnitt.
Generera NSD-indatafilen för Azure CLI AOSM-tillägget.
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
Öppna indatafilen som du genererade i föregående steg och använd infogade kommentarer för att ange de värden som krävs. Den genererade indatafilen innehåller ytterligare
resource_element_type
en typArmTemplate
. Detta är onödigt när du registrerar en VNF; du kan ta bort den. Det här exemplet visar az CLI AOSM-tilläggets indatafil för en fiktiv Contoso NSD som kan användas för att distribuera en fiktiv Contoso VNF till en Azure Operator Nexus-instans.{ // 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" } } ] }
Kommentar
Avsnittet resurselementmall definierar vilken NFD som ingår i NSD. Egenskaperna måste matcha de som används i indatafilen som skickas
az aosm nfd build
till kommandot. Det beror på att Azure CLI AOSM-tillägget verifierar att NFD har registrerats korrekt när NSD skapas.Kör följande kommando för att skapa BICEP-mallar för nätverkstjänstdesign och version.
az aosm nsd build --config-file <nsd-output-filename.jsonc>
Du kan granska mapp- och filstrukturen och göra ändringar om det behövs.
Publicera nätverkstjänstdesignen (NSD)
Det här steget skapar de AOSM-resurser som definierar nätverkstjänstdesigngruppen och versionen. Den laddar också upp artefakter som krävs av NSD:n till Artefaktarkivet (ARM-mall för nätverksfunktion).
- Kör följande kommando för att publicera nätverkstjänstens designgrupp och version. Om du inte har prenumerationsomfång
Contributor
ochAcrPush
roller ska du inkludera--no-subscription-permissions
i kommandot .
az aosm nsd publish --build-output-folder nsd-cli-output
Nu har du en fullständig uppsättning AOSM-utgivarresurser och är redo att utföra operatorflödet.