Dela via


Lägga till Azure Resource Manager-resurser (ARM) i en Azure Operator Service Manager (AOSM) nätverkstjänstdesignversion (NSDV)

Med Azure Operator Service Manager (AOSM) kan du kombinera NFDV-mallar (Network Function Definition Versions) och Azure Resource Manager (ARM) till en NSDV (Network Service Design Version). NSDV blir en enda mall för en nätverkstjänst som innehåller både en nätverksfunktion och den Azure-infrastruktur som krävs för att köras. En operatör kan sedan distribuera nätverksfunktionen (NF) och dess infrastruktur i en åtgärd.

I den här instruktionsguiden lär du dig hur du använder Azure CLI AOSM-tillägget för att skapa och publicera en NSDV som innehåller både en CNF (Containerized Network Function) och en Arm-resurs (Azure Resource Manager).

Registrering är en process i flera steg. När du uppfyller kraven använder du Azure CLI AOSM-tillägget för att:

  1. Ändra en befintlig NSDV-indatafil för en tidigare registrerad CNF.
  2. Fyll i indatafilen med den information som krävs för att skapa AOSM-resursdefinitionerna.
  3. Generera BICEP-filer som definierar en NSDV (Network Service Design Group and Version) baserat på indatafilen och ARM-mallen.
  4. Publicera NSDV och ladda upp ARM-mallen till ett artefaktarkiv (AOSM-hanterat Azure Container Registry (ACR)).

Den här instruktionsguiden använder Azure Key Vault (AKV) som ett exempel på en Azure-resurs, men alla Azure-resurser kan registreras genom att följa samma steg. I den här artikeln används en CNF som exempel på NF. processen är identisk för en virtualiserad nätverksfunktion (VNF) förutom mindre skillnader i NSDV-indatafilen.

Förutsättningar

  • Du har aktiverat AOSM för din Azure-prenumeration.
  • Om din CNF är avsedd att köras på Azure Operator Nexus har du åtkomst till en Azure Operator Nexus-instans och har slutfört förutsättningarna för arbetsbelastningsdistribution.
  • Du har registrerat en CNF och har den indatafil som du genererade med az aosm nsd generate-config filen tillgänglig på den lokala lagringen på den dator som du kör CLI från.

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 Contributor rolltilldelningarna och AcrPush för prenumerationen som ska innehålla det AOSM-hanterade artefaktarkivet.
    • Din företagsprincip kan hindra dig från att ha behörigheter med prenumerationsomfång. Parametern --no-subscription-permissions , som är tillgänglig för az aosm nsd publish kommandot, 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.

ARM-mallar

  • Du måste ha en ARM-mall som definierar de Azure-resurser som du vill distribuera på den lokala lagringen på den dator som du kör CLI från.
  • Alla parametrar som du vill exponera för operatorn som distribuerar din NSDV måste definieras som parametrar i ARM-mallen.

Kommentar

Az CLI AOSM-tillägget stöder inte registrering av Azure-resurser som definierats i en BICEP-mall. Du kan dock använda bicep build kommandot för att konvertera dina BICEP-filer till ARM-mallar. Mer information och instruktioner finns i bicep CLI-dokumentationen .

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.

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 anvisningarna 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.

Installera AOSM CLI-tillägget

Az CLI AOSM-tillägget kräver version 2.54.0 eller senare av Azure CLI.

  1. Kör az version för att se vilken version och beroende bibliotek som är installerade.
  2. 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ätverkstjänstdesigngruppen och -versionen

  1. Öppna NSDV-indatafilen som du genererade när du registrerade din CNF.

    Kommentar

    Du kan generera en ny indatafil med kommandot az aosm nsd generate-config --output-file <nsd-output-filename.jsonc> om du inte har NSDV-indatafilen från CNF-registrering.

  2. Ange de värden som krävs med hjälp av infogade kommentarer i indatafilen. Det här exemplet visar Az CLI AOSM-tilläggets indatafil för en fiktiv Contoso NSDV som kan användas för att distribuera en fiktiv Contoso CNF till ett Arc-anslutet Nexus Kubernetes-kluster och en AKV-instans på en Azure-plats.

    {
        // 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",
        // Name of the ACR Artifact Store resource.
        // Will be created if it does not exist.
        "acr_artifact_store_name": "contoso-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-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-cnf NFD and an Azure Key Vault",
        // 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",
                    // 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-cnf-nfd",
                    // 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": "cnf"
                }
            },
            {
                // Type of Resource Element. Either NF or ArmTemplate
                "resource_element_type": "ArmTemplate",
                // Properties of the Resource Element.
                "properties": {
                    // Name of the artifact. Used as internal reference only.
                    "artifact_name": "contoso-keyvault",
                    // 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": "./contoso-keyvault.json"
                }
            }
        ]
    }
    

    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.

  3. 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änstdesigngruppen och -versionen

Det här steget skapar de AOSM-resurser som definierar nätverkstjänstdesigngruppen och versionen. Den laddar också upp artefakter som krävs av NSDV till Artefaktarkivet (NF ARM-mallen och AKV ARM-mallen).

  1. Kör följande kommando för att publicera nätverkstjänstens designgrupp och version. Om du inte har prenumerationsomfång Contributor och AcrPush 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.

Nästa steg