Sdílet prostřednictvím


Přidání prostředků Azure Resource Manageru (ARM) do verze návrhu síťové služby Azure Operator Service Manager (AOSM) (NSDV)

Azure Operator Service Manager (AOSM) umožňuje kombinovat šablony NFDV (Network Function Definition Versions) a Azure Resource Manageru (ARM) do verze NSDV (Network Service Design Version). NSDV se stane jednou šablonou pro síťovou službu, která obsahuje síťovou funkci i infrastrukturu Azure, kterou vyžaduje ke spuštění. Operátor pak může nasadit síťovou funkci (NF) a její infrastrukturu v jedné operaci.

V tomto průvodci postupy se dozvíte, jak pomocí rozšíření Azure CLI AOSM sestavit a publikovat NSDV obsahující jak kontejnerizovanou síťovou funkci (CNF), tak prostředek Azure Resource Manageru (ARM).

Onboarding je proces s více kroky. Jakmile splníte požadavky, použijete rozšíření Azure CLI AOSM k:

  1. Upravte existující vstupní soubor NSDV pro dříve nasazený CNF.
  2. Vyplňte vstupní soubor informacemi potřebnými k sestavení definic prostředků AOSM.
  3. Vygenerujte soubory BICEP, které definují skupinu a verzi návrhu síťové služby (NSDV) na základě vstupního souboru a šablony ARM.
  4. Publikujte NSDV a nahrajte šablonu ARM do úložiště artefaktů (AOSM spravovaný azure Container Registry (ACR).

V tomto průvodci postupy se jako příklad prostředku Azure používá Azure Key Vault (AKV), ale všechny prostředky Azure je možné připojit pomocí stejných kroků. Tento článek používá CNF jako příklad NF; proces je shodný pro virtualizovanou síťovou funkci (VNF) kromě menších rozdílů ve vstupním souboru NSDV.

Požadavky

  • Ve svém předplatném Azure jste povolili AOSM .
  • Pokud má váš CNF běžet na platformě Azure Operator Nexus, máte přístup k instanci Azure Operator Nexus a dokončili požadavky pro nasazení úloh.
  • Nasadili jste CNF a máte vstupní soubor, který jste vygenerovali se souborem dostupným az aosm nsd generate-config v místním úložišti počítače, ze kterého spouštíte rozhraní příkazového řádku.

Konfigurace oprávnění

  • Abyste mohli vytvořit skupinu prostředků, nebo existující skupinu prostředků, ve které máte roli přispěvatele, musíte mít před předplatnou roli Přispěvatel.
  • V předplatném, které bude obsahovat úložiště artefaktů spravovaných službou AOSM, vyžadujete ContributorAcrPush přiřazení rolí a rolí.
    • Zásady vaší společnosti vám můžou bránit v tom, abyste měli oprávnění vymezená předplatným. Parametr --no-subscription-permissions dostupný v az aosm nsd publish příkazu používá úzce vymezená oprávnění odvozená ze služby AOSM k orchestraci dvoustupňové kopie do a z místního počítače. Tato dvoustupňová kopie je pomalejší, ale nevyžaduje oprávnění vymezená předplatným.

Šablony ARM

  • Musíte mít šablonu ARM, která definuje prostředky Azure, které chcete nasadit v místním úložišti počítače, ze kterého spouštíte rozhraní příkazového řádku.
  • Všechny parametry, které chcete vystavit operátorovi, který nasadí NSDV, musí být definovány jako parametry v šabloně ARM.

Poznámka:

Rozšíření Az CLI AOSM nepodporuje onboarding prostředků Azure definovaných v šabloně BICEP. Pomocí příkazu ale můžete bicep build převést soubory BICEP na šablony ARM. Podrobné informace a pokyny najdete v dokumentaci k rozhraní příkazového řádku bicep.

Helm a modul Dockeru

Stažení a instalace Azure CLI

Pokud chcete azure CLI nainstalovat místně, přečtěte si, jak nainstalovat Azure CLI.

Pokud se chcete přihlásit k Azure CLI, použijte az login příkaz a dokončete výzvy zobrazené v terminálu a dokončete ověřování. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.

Poznámka:

Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru. Prostředí Bash můžete použít také v Azure Cloud Shellu. Další informace najdete v tématu Spuštění Cloud Shellu pro použití prostředí Bash v Azure Cloud Shellu.

Instalace rozšíření AOSM CLI

Rozšíření Az CLI AOSM vyžaduje verzi 2.54.0 nebo novější azure CLI.

  1. Spuštěním zobrazíte az version nainstalované verze a závislé knihovny.
  2. Spusťte az upgrade upgrade na aktuální verzi Azure CLI.

Pomocí tohoto příkazu nainstalujte rozšíření rozhraní příkazového řádku AOSM:

az extension add --name aosm

Sestavení skupiny a verze návrhu síťové služby

  1. Otevřete vstupní soubor NSDV, který jste vygenerovali při onboardingu CNF.

    Poznámka:

    Pomocí příkazu můžete vygenerovat az aosm nsd generate-config --output-file <nsd-output-filename.jsonc> nový vstupní soubor, pokud nemáte vstupní soubor NSDV z onboardingu CNF.

  2. Zadejte požadované hodnoty pomocí vložených komentářů ve vstupním souboru. Tento příklad ukazuje vstupní soubor s příponou Az CLI AOSM pro fiktivní soubor NSDV společnosti Contoso, který se dá použít k nasazení fiktivního CNF contoso do clusteru Nexus Kubernetes připojeného k Arc a instanci AKV v umístění Azure.

    {
        // 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"
                }
            }
        ]
    }
    

    Poznámka:

    Oddíl šablony elementu prostředku definuje, který NFD je součástí NSD. Vlastnosti musí odpovídat vlastnostem použitým ve vstupním souboru předaném az aosm nfd build příkazu. Důvodem je to, že rozšíření Azure CLI AOSM ověřuje, že při sestavování NSD je správně nasazený NFD.

  3. Spuštěním následujícího příkazu sestavte skupinu návrhu síťové služby a šablony BICEP verze.

az aosm nsd build --config-file <nsd-output-filename.jsonc>

Strukturu složek a souborů si můžete prohlédnout a v případě potřeby upravit.

Publikování skupiny a verze návrhu síťové služby

Tento krok vytvoří prostředky AOSM, které definují skupinu a verzi návrhu síťové služby. Také nahraje artefakty vyžadované NSDV do úložiště artefaktů (šablona NF ARM a šablona ARM AKV).

  1. Spuštěním následujícího příkazu publikujte skupinu a verzi návrhu síťové služby. Pokud nemáte obor Contributor předplatného a AcrPush role, zahrňte --no-subscription-permissions ho do příkazu.
az aosm nsd publish --build-output-folder nsd-cli-output

Teď máte úplnou sadu prostředků vydavatele AOSM a jste připraveni provést tok operátoru.

Další kroky