Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 kontejnerizovanou síťovou funkci do AOSM. CNF je možné později nasadit do clusteru Kubernetes připojeného ke službě Azure Arc, včetně clusteru 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) na základě grafů Helm a hodnot.yaml.
- Publikujte NFD a nahrajte image a grafy CNF do úložiště artefaktů (AOSM spravovaného službou Azure Container Registry (ACR)).
- Přidejte své publikované soubory NFD do souborů Bicep, které určují skupinu návrhu síťových služeb a jejich verzi (NSD).
- Publikujte NSD.
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.
Poznámka:
Důrazně doporučujeme otestovat, že balíček helm install Helm bude úspěšný v cílovém prostředí Kubernetes připojeném ke službě Arc.
Konfigurace oprávnění
- Abyste mohli vytvořit skupinu prostředků, nebo použít existující skupinu prostředků, ve které máte roli přispěvatele, musíte mít roli přispěvatele v rámci svého předplatného.
- Potřebujete přiřazení rolí
Reader/AcrPullve zdrojovém ACR obsahujícím vaše obrazy. - Vyžadujete přiřazení rolí
ContributoraAcrPushv předplatném, které bude obsahovat úložiště artefaktů spravovaných službou AOSM. 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ý pro příkazyaz aosm nfd publishaaz aosm nsd publish, používá úzce vymezená oprávnění odvozená ze služby AOSM k řízení dvoustupňového kopírování na a z vašeho 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
Balíčky Helm
- Balíčky Helm, které chcete připojit, musí být přítomné v místním úložišti počítače, ze kterého spouštíte rozhraní příkazového řádku.
- Rozšíření Azure CLI pro AOSM bude ve výchozím nastavení používat soubor
values.yamlv balíčku Helm. Rozhraní příkazového řádku podporuje přepsání tohoto chování alternativnímvalues.yaml. Tento alternativní soubor musí existovat v místním úložišti počítače, ze kterého spouštíte rozhraní příkazového řádku.
- Rozšíření Azure CLI pro AOSM bude ve výchozím nastavení používat soubor
Poznámka:
Důrazně doporučujeme, aby balíček Helm obsahoval schéma pro hodnoty helmu a aby šablony balíčku Helm fungovaly podle vašich očekávání při spuštění helm template pomocí souboru values.yaml, který chcete použít při integraci do AOSM.
Obrázky kontejnerů
- Vaše image kontejneru se nacházejí buď v existující službě ACR, nebo v alternativním registru kontejneru, který podporuje rozhraní API Dockeru. Image kontejnerů musí být uložené ve zdrojovém registru ve struktuře, která odpovídá umístění image definované v grafech helmu. Tento požadavek je vysvětlený ve zjišťování a nahrávání obrazů CNF CLI.
-
docker loginPřed spuštěním příkazůaz aosmse pomocí příkazu přihlaste k registru kontejneru mimo Azure, který hostuje image kontejneru. Tento krok se nevyžaduje, pokud používáte ACR: Rozšíření Azure CLI AOSM se automaticky přihlásí.
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.
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. Pro více informací, viz Jak spustit Azure CLI v Docker kontejneru. 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.
- Spuštěním zobrazíte
az versionnainstalované verze a závislé knihovny. - Spusťte
az upgradeupgrade 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
Tento krok vytvoří složku v pracovním adresáři nazvanou cnf-cli-output, která obsahuje soubory Bicep prostředků AOSM, jež definují vaši skupinu definic síťových funkcí a její verzi, a také úložiště artefaktů. Tyto prostředky budou nakonec zahrnuty do návrhu síťových služeb.
Vygenerujte vstupní soubor přípony Azure CLI AOSM pro CNF.
az aosm nfd generate-config --definition-type cnf --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 rozšíření Az CLI AOSM pro fiktivní CNF společnosti Contoso.
Poznámka:
Rozšíření Azure CLI AOSM standardně zobrazuje pouze požadované parametry bez výchozích hodnot v rámci vstupu
values.yaml. Můžete nastavitexpose_all_parameterstak, abytruese zpřístupnily všechny hodnoty helmu ve verzi definice síťové funkce (NFDV) a schématu skupiny konfigurace (CGS). Další informace najdete v tématu Zpřístupnění parametru pomocí rozšíření rozhraní příkazového řádku AOSM.{ // 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. // You should create this before running the publish command "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", // Name of NF definition. "nf_name": "contoso-cnf-nfd", // Version of the NF 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, // List of registries from which to pull the image(s). // For example ["sourceacr.azurecr.io/test", "myacr2.azurecr.io", "ghcr.io/path"]. // For non Azure Container Registries, ensure you have run a docker login command before running build. "image_sources": ["contoso.azuercr.io/contoso", "docker.io"], // List of Helm packages to be included in the CNF. "helm_packages": [ { // The name of the Helm package. "name": "contoso-helm-package", // The file path to the helm chart on the local disk, relative to the directory from which the command is run. // Accepts .tgz, .tar or .tar.gz, or an unpacked directory. Use Linux slash (/) file separator even if running on Windows. "path_to_chart": "/home/cnf-onboard/contoso-cnf-helm-chart-0-1-0.tgz", // The file path (absolute or relative to this configuration file) of YAML values file on the local disk which will be used instead of the values.yaml file present in the helm chart. // Accepts .yaml or .yml. Use Linux slash (/) file separator even if running on Windows. "default_values": "", } ] }Spuštěním následujícího příkazu sestavte skupinu definic síťových funkcí a soubory Bicep verze.
az aosm nfd build --definition-type cnf --config-file <filename.jsonc>
Strukturu složek a souborů si můžete prohlédnout a v případě potřeby upravit.
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í kontejneru síťové funkce. Obrázky a grafy se také nahrají do úložiště artefaktů buď tak, že jsou zkopírovány přímo z ACR, nebo pokud nemáte obor předplatného a role Contributor, provede se přetagování image Dockeru místně a následně se nahrají do úložiště artefaktů s použitím přihlašovacích údajů s omezeným rozsahem generovaných službou AOSM.
- Spuštěním následujícího příkazu publikujte skupinu definic síťových funkcí a verzi. Pokud nemáte obor předplatného
Contributora roleAcrPush, zahrňte--no-subscription-permissionsdo příkazu.
Poznámka:
Pokud používáte Windows, musíte mít v kroku publikování spuštěnou aplikaci Docker Desktop.
az aosm nfd publish --build-output-folder cnf-cli-output --definition-type cnf
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 soubory 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 na lokalitě, která nasadí síťovou funkci, kterou jste začlenili 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_typetypArmTemplate. To není nutné při připojování CNF; můžete ho odstranit. Výsledek by měl vypadat jako v tomto příkladu. Příklad ukazuje vstupní soubor rozšíření Az CLI AOSM pro fiktivní Contoso NSD, který lze použít k nasazení fiktivního Contoso CNF do Arc připojeného Nexus Kubernetes clusteru.{ // 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", // 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" } } ] }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 buildpří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 soubory 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.
Publikovat skupinu pro návrh síťové služby a její verzi
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 předplatného
Contributora roleAcrPush, zahrňte--no-subscription-permissionsdo 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.