Udostępnij za pośrednictwem


Dodawanie zasobów usługi Azure Resource Manager (ARM) do wersji projektu usługi sieciowej (NSDV) programu Azure Operator Service Manager (AOSM)

Program Azure Operator Service Manager (AOSM) umożliwia łączenie wersji definicji funkcji sieci (NFDV) i szablonów usługi Azure Resource Manager (ARM) w wersję projektu usługi sieciowej (NSDV). NSDV staje się pojedynczym szablonem dla usługi sieciowej, która zawiera zarówno funkcję sieciową, jak i infrastrukturę platformy Azure, która wymaga uruchomienia. Operator może następnie wdrożyć funkcję sieciową (NF) i jej infrastrukturę w jednej operacji.

Z tego przewodnika z instrukcjami dowiesz się, jak za pomocą rozszerzenia AOSM interfejsu wiersza polecenia platformy Azure utworzyć i opublikować serwer NSDV zawierający zarówno konteneryzowaną funkcję sieciową (CNF) zasób usługi Azure Resource Manager (ARM).

Dołączanie jest procesem wieloetapowym. Po spełnieniu wymagań wstępnych użyjesz rozszerzenia AOSM interfejsu wiersza polecenia platformy Azure, aby:

  1. Zmodyfikuj istniejący plik wejściowy NSDV dla wcześniej dołączonego systemu CNF.
  2. Wypełnij plik wejściowy informacjami wymaganymi do utworzenia definicji zasobów AOSM.
  3. Wygeneruj pliki BICEP, które definiują grupę projektową usługi sieciowej i wersję (NSDV) na podstawie pliku wejściowego i szablonu usługi ARM.
  4. Opublikuj serwer NSDV i przekaż szablon usługi ARM do magazynu artefaktów (AOSM zarządzanego przez usługę Azure Container Registry (ACR)).

Ten przewodnik z instrukcjami używa usługi Azure Key Vault (AKV) jako przykładu zasobu platformy Azure, jednak każdy zasób platformy Azure można dołączyć, wykonując te same kroki. W tym artykule użyto systemu plików CNF jako przykładowego systemu plików NF; proces jest identyczny dla funkcji zwirtualizowanej sieci (VNF) oprócz drobnych różnic w pliku wejściowym NSDV.

Wymagania wstępne

  • Aplikacja AOSM została włączona w ramach subskrypcji platformy Azure.
  • Jeśli twój serwer CNF ma działać na platformie Azure Operator Nexus, masz dostęp do wystąpienia narzędzia Nexus operatora platformy Azure i zostały spełnione wymagania wstępne dotyczące wdrożenia obciążenia.
  • Dołączono system CNF i wygenerowano plik wejściowy z az aosm nsd generate-config plikiem dostępnym w lokalnym magazynie maszyny, z której jest wykonywany interfejs wiersza polecenia.

Konfiguracja uprawnień

  • Aby utworzyć grupę zasobów lub istniejącą grupę zasobów, w której masz rolę Współautor, musisz mieć rolę Współautor.
  • Wymagane są Contributor przypisania ról i AcrPush w subskrypcji, które będą zawierać zarządzany magazyn artefaktów usługi AOSM.
    • Zasady firmy mogą uniemożliwić posiadanie uprawnień w zakresie subskrypcji. Parametr --no-subscription-permissions dostępny w poleceniu az aosm nsd publish używa ściśle ograniczonych uprawnień pochodzących z usługi AOSM do organizowania dwuetapowej kopii do i z komputera lokalnego. Ta kopia dwuetapowa jest wolniejsza, ale nie wymaga uprawnień w zakresie subskrypcji.

Szablony usługi ARM

  • Musisz mieć szablon usługi ARM, który definiuje zasoby platformy Azure, które mają być wdrażane w lokalnym magazynie maszyny, z której wykonujesz interfejs wiersza polecenia.
  • Wszelkie parametry, które mają być widoczne dla operatora, który wdroży serwer NSDV, muszą być zdefiniowane jako parametry w szablonie usługi ARM.

Uwaga

Rozszerzenie AOSM interfejsu wiersza polecenia az nie obsługuje dołączania zasobów platformy Azure zdefiniowanych w szablonie BICEP. Można jednak użyć bicep build polecenia , aby przekonwertować pliki BICEP na szablony usługi ARM. Szczegółowe informacje i instrukcje można znaleźć w dokumentacji interfejsu wiersza polecenia bicep.

Aparat Helm i Docker

  • Zainstaluj interfejs wiersza polecenia programu Helm na komputerze hosta. Należy użyć programu Helm w wersji 3.8.0 lub nowszej.
  • Zainstaluj platformę Docker na komputerze hosta.

Pobieranie i instalowanie interfejsu wiersza polecenia platformy Azure

Aby zainstalować interfejs wiersza polecenia platformy Azure lokalnie, zobacz Jak zainstalować interfejs wiersza polecenia platformy Azure.

Aby zalogować się do interfejsu wiersza polecenia platformy Azure, użyj az login polecenia i ukończ monity wyświetlane w terminalu, aby zakończyć uwierzytelnianie. Aby uzyskać więcej opcji logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.

Uwaga

Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker. Możesz również użyć środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Uruchamianie usługi Cloud Shell w celu korzystania ze środowiska powłoki Bash w usłudze Azure Cloud Shell.

Instalowanie rozszerzenia interfejsu wiersza polecenia programu AOSM

Rozszerzenie AOSM interfejsu wiersza polecenia az wymaga wersji 2.54.0 lub nowszej interfejsu wiersza polecenia platformy Azure.

  1. Uruchom polecenie az version , aby wyświetlić zainstalowaną wersję i biblioteki zależne.
  2. Uruchom polecenie az upgrade , aby uaktualnić do bieżącej wersji interfejsu wiersza polecenia platformy Azure.

Zainstaluj rozszerzenie interfejsu wiersza polecenia programu AOSM przy użyciu tego polecenia:

az extension add --name aosm

Tworzenie grupy i wersji projektu usługi sieciowej

  1. Otwórz plik wejściowy NSDV wygenerowany podczas dołączania systemu CNF.

    Uwaga

    Możesz wygenerować nowy plik wejściowy przy użyciu az aosm nsd generate-config --output-file <nsd-output-filename.jsonc> polecenia , jeśli nie masz pliku wejściowego NSDV z dołączania CNF.

  2. Wprowadź wymagane wartości przy użyciu wbudowanych komentarzy w pliku wejściowym. W tym przykładzie pokazano plik wejściowy rozszerzenia AOSM interfejsu wiersza polecenia dla fikcyjnej domeny Contoso NSDV, który może służyć do wdrażania fikcyjnego systemu CNF firmy Contoso na klastrze Nexus połączonym z usługą Arc Platformy Kubernetes i wystąpieniu usługi AKV w lokalizacji platformy 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"
                }
            }
        ]
    }
    

    Uwaga

    Sekcja szablonu elementu zasobu definiuje, który plik NFD jest zawarty w NSD. Właściwości muszą być zgodne z właściwościami używanymi w pliku wejściowym przekazanym az aosm nfd build do polecenia . Dzieje się tak, ponieważ rozszerzenie AOSM interfejsu wiersza polecenia platformy Azure sprawdza, czy plik NFD został poprawnie dołączony podczas kompilowania sieciowej bazy danych.

  3. Wykonaj następujące polecenie, aby skompilować szablony Network Service Design Group i Version BICEP.

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

W razie potrzeby możesz przejrzeć strukturę folderów i plików i wprowadzić modyfikacje.

Publikowanie grupy i wersji projektu usługi sieciowej

W tym kroku zostaną utworzone zasoby AOSM, które definiują grupę projektową i wersję usługi sieciowej. Przekazuje również artefakty wymagane przez NSDV do magazynu artefaktów (szablon arm NF i szablon usługi ARM usługi AKV).

  1. Wykonaj następujące polecenie, aby opublikować grupę projektową i wersję usługi sieciowej. Jeśli nie masz zakresu Contributor subskrypcji i AcrPush ról, uwzględnij --no-subscription-permissions je w poleceniu .
az aosm nsd publish --build-output-folder nsd-cli-output

Masz teraz kompletny zestaw zasobów wydawcy AOSM i możesz przystąpić do wykonywania przepływu operatora.

Następne kroki