Nasazení virtualizované síťové funkce (VNF) pro nasazení v Azure Operator Nexus k Azure Operator Service Manageru (AOSM)
V tomto návodu se vydavatelé síťových funkcí a návrháři služeb naučí, jak pomocí rozšíření Azure CLI AOSM připojit virtualizovanou síťovou funkci do AOSM. Tento VNF je následně možné nasadit na azure Operator Nexus. Onboarding je proces s více kroky. Jakmile splníte požadavky, použijete rozšíření Azure CLI AOSM k:
- Vygenerujte soubory BICEP, které definují skupinu definic síťových funkcí a verzi (NFD).
- Publikujte NFD a nahrajte image VNF do úložiště artefaktů (AOSM spravovaná službou Azure Container Registry (ACR)).
- Přidejte publikovanou NFD do souborů BICEP, které definují skupinu návrhu síťových služeb a verzi (NSD).
- Publikujte NSD.
Požadavky
- Máte přístup k instanci Azure Operator Nexus a dokončili jste požadavky pro nasazení úloh.
- Ve svém předplatném Azure jste povolili AOSM .
Poznámka:
Před nasazením VNF do AOSM důrazně doporučujeme otestovat, že nasazení virtuálního počítače proběhne úspěšně ve vaší instanci Azure Operator Nexus.
Image virtuálních počítačů Nexus operátora Azure a šablony Azure Resource Manageru (ARM)
Vytvořili jste image pro virtuální počítač Azure Operator Nexus. Tato image musí být dostupná v ACR.
Vytvořili jste šablonu ARM, která nasadí virtuální počítač Azure Operator Nexus.
Šablona ARM virtuálního počítače (pro AzureCore i Azure Operator Nexus) může nasazovat pouze prostředky ARM z následujících poskytovatelů prostředků.
- Microsoft.Compute
- Microsoft.Network
- Microsoft.NetworkCloud
- Microsoft.Storage
- Microsoft.NetworkFabric
- Microsoft.Authorization
- Microsoft.ManagedIdentity
Šablona ARM VNF by měla nasadit jeden virtuální počítač. Několik virtuálních počítačů je možné nasadit zahrnutím více instancí NFDV v NSDV.
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.
- Potřebujete
Reader
/AcrPull
přiřazení rolí ve zdrojové službě ACR obsahující vaše image. - V předplatném, které bude obsahovat úložiště artefaktů spravovaných službou AOSM, vyžadujete
Contributor
AcrPush
přiřazení rolí a rolí. Tato oprávnění umožňují rozšíření Azure CLI AOSM provádět přímé kopírování ACR-to-ACR. Přímá kopie je nejrychlejší způsob přenosu obrázků z jednoho ACR do druhého.- 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ý proaz aosm nfd publish
příkazy aaz aosm nsd publish
příkazy 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.
- Zásady vaší společnosti vám můžou bránit v tom, abyste měli oprávnění vymezená předplatným. Parametr
Stažení a instalace Azure CLI
Pokud chcete nainstalovat Azure CLI 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.
Helm a modul Dockeru
- Nainstalujte Rozhraní příkazového řádku Helm na hostitelský počítač. Musíte použít Helm v3.8.0 nebo novější.
- Nainstalujte Docker do hostitelského počítače.
Instalace rozšíření AOSM CLI
Rozšíření Az CLI AOSM vyžaduje verzi 2.54.0 nebo novější azure CLI.
- Spuštěním zobrazíte
az version
nainstalované verze a závislé knihovny. - 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 definic síťových funkcí a verze
Tato část vytvoří složku v pracovním adresáři volaným vnf-cli-output
pomocí šablon BICEP prostředků AOSM, které definují vaši skupinu definic síťových funkcí a verzi a úložiště artefaktů. Tyto prostředky budou nakonec zahrnuty do návrhu síťové služby.
Vygenerujte vstupní soubor přípony Azure CLI AOSM pro VNF.
az aosm nfd generate-config --definition-type vnf-nexus --output-file <filename.jsonc>
Otevřete vstupní soubor, který jste vygenerovali v předchozím kroku, a pomocí vložených komentářů zadejte požadované hodnoty. Tento příklad ukazuje vstupní soubor přípony Az CLI AOSM pro fiktivní contoso VNF, který běží na Azure Operator Nexus.
Poznámka:
Rozšíření Azure CLI AOSM ve výchozím nastavení zveřejňuje požadované parametry bez výchozích hodnot ve vstupní šabloně ARM. Můžete nastavit
expose_all_parameters
, abytrue
se všechny parametry šablony ARM zpřístupnily ve verzi definice síťové funkce (NFDV) a schématu skupin konfigurace (CGS). Podrobnější informace najdete v tématu Zveřejnění parametru pomocí rozšíření AOSM CLI.{ // 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"] }```
Spuštěním následujícího příkazu sestavte skupinu definic síťové funkce a verzi.
az aosm nfd build --definition-type vnf-nexus --config-file <filename.jsonc>
Publikování skupiny a verze definice síťové funkce
Tento krok vytvoří prostředky AOSM, které definují definici síťové funkce a úložiště artefaktů, které se použijí k ukládání imagí virtuálních počítačů síťové funkce. Také nahraje image do úložiště artefaktů buď tak, že je zkopírujete přímo ze zdrojové služby ACR nebo pokud nemáte obor Contributor
předplatného a AcrPush
role, a to tak, že image Dockeru nahrajete místně a nahrajete je do úložiště artefaktů pomocí úzce vymezených přihlašovacích údajů vygenerovaných ze služby AOSM.
- Spuštěním následujícího příkazu publikujte skupinu definic síťových funkcí a verzi. Pokud nemáte obor
Contributor
předplatného aAcrPush
role, zahrňte--no-subscription-permissions
ho do příkazu.
az aosm nfd publish --build-output-folder vnf-cli-output --definition-type vnf
V případě potřeby můžete zkontrolovat strukturu složek a souborů a provádět změny.
Sestavení skupiny a verze návrhu síťové služby
Tento oddíl vytvoří složku v pracovním adresáři s názvem nsd-cli-output
. Tato složka obsahuje šablony BICEP prostředků AOSM, které definují skupinu návrhu síťové služby a verzi. Tento návrh síťové služby je šablona použitá v prostředku síťové služby lokality, která nasadí funkci sítě, kterou jste nasadili v předchozích částech.
Vygenerujte vstupní soubor rozšíření Azure CLI AOSM NSD.
az aosm nsd generate-config --output-file <nsd-output-filename.jsonc>
Otevřete vstupní soubor, který jste vygenerovali v předchozím kroku, a pomocí vložených komentářů zadejte požadované hodnoty. Vygenerovaný vstupní soubor obsahuje další
resource_element_type
typArmTemplate
. To není nutné při připojování VNF; můžete ho odstranit. Tento příklad ukazuje vstupní soubor s příponou Az CLI AOSM pro fiktivní soubor NSD společnosti Contoso, který se dá použít k nasazení fiktivního virtuálního zařízení Contoso VNF do instance Azure Operator Nexus.{ // 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" } } ] }
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.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>
V případě potřeby můžete zkontrolovat strukturu složek a souborů a provádět změny.
Publikování návrhu síťové služby (NSD)
Tento krok vytvoří prostředky AOSM, které definují skupinu a verzi návrhu síťové služby. Také nahraje artefakty vyžadované NSD do úložiště artefaktů (šablona ARM síťové funkce).
- 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 aAcrPush
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.