Udostępnij za pośrednictwem


Szybki start: projektowanie projektu usługi sieciowej (NSD) dla maszyny wirtualnej z systemem Ubuntu jako funkcji zwirtualizowanej sieci (VNF)

W tym przewodniku Szybki start opisano sposób używania rozszerzenia interfejsu az aosm wiersza polecenia platformy Azure do tworzenia i publikowania podstawowego projektu usługi sieciowej.

Wymagania wstępne

Wymagane jest konto platformy Azure z aktywną subskrypcją. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem postępuj zgodnie z instrukcjami podanymi w temacie Rozpocznij bezpłatnie , aby utworzyć konto.

Musisz postępować zgodnie z wymaganiami wstępnymi w przewodniku Szybki start: publikowanie maszyny wirtualnej z systemem Ubuntu jako funkcji sieci wirtualnej (VNF).

Tworzenie pliku wejściowego

Utwórz plik wejściowy do publikowania projektu usługi sieciowej. Wykonaj następujące polecenie, aby wygenerować plik konfiguracji wejściowej projektu usługi sieciowej (NSD).

az aosm nsd generate-config

Plik nsd-input.jsonc jest generowany podczas uruchamiania tego polecenia.

Uwaga

Zmodyfikuj plik nsd-input.jsonc, zastępując go wartościami przedstawionymi w przykładzie. Usuń sekcję, w której resource_element_type jest ustawiona na ArmTemplate. Jest to przeznaczone do dodawania infrastruktury (np. sieci wirtualnych) do bardziej skomplikowanych dysków NSD, które nie są potrzebne w tym przewodniku Szybki start. Zapisz plik jako input-vnf-nsd.jsonc.

Jeśli podczas publikowania NFDV zmieniono nazwę wydawcy, użyj nazwy wydawcy zarówno dla pól , jak publisher_name i publisher (ta ostatnia znajduje się w tablicy resource_element_templates ).

Jeśli użyto innej nazwy grupy zasobów, zaktualizuj pola publisher_resource_group_name i publisher_resource_group (drugi znajduje się w tablicy resource_element_templates ).

{
  // Azure location to use when creating resources e.g uksouth
  "location": "uksouth",
  // Name of the Publisher resource you want your definition published to.
  // Will be created if it does not exist.
  "publisher_name": "ubuntu-publisher",
  // Resource group for the Publisher resource.
  // You should create this before running the publish command.
  "publisher_resource_group_name": "ubuntu-publisher-rg",
  // Name of the ACR Artifact Store resource.
  // Will be created if it does not exist.
  "acr_artifact_store_name": "ubuntu-acr",
  // Network Service Design (NSD) name. This is the collection of Network Service Design Versions. Will be created if it does not exist.
  "nsd_name": "ubuntu-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": "Plain ubuntu VM",
  // 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": "ubuntu-publisher",
            // The resource group that the publisher is hosted in.
            "publisher_resource_group": "ubuntu-publisher-rg",
            // 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": "ubuntu-vm",
            // 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": "uksouth",
            // Type of Network Function. Valid values are 'cnf' or 'vnf'.
            "type": "vnf"
        }
    }
  ]
}
Zmienna opis
publisher_name Nazwa zasobu wydawcy, do którego chcesz opublikować definicję. Utworzono, jeśli nie istnieje.
publisher_resource_group_name Grupa zasobów dla zasobu wydawcy. Utworzono, jeśli nie istnieje.
acr_artifact_store_name Nazwa zasobu magazynu artefaktów usługi Azure Container Registry (ACR). Utworzono, jeśli nie istnieje.
location Lokalizacja platformy Azure do użycia podczas tworzenia zasobów.
funkcje sieciowe publisher: nazwa wydawcy, w ramach którego jest publikowana ta wersja definicji funkcji sieciowej (NFDV).
publisher_resource_group: grupa zasobów, w której jest hostowany wydawca.
name: nazwa istniejącej grupy definicji funkcji sieci do wdrożenia przy użyciu tego sieciowej grupy definicji funkcji.
version: wersja istniejącej definicji funkcji sieciowej, która ma opierać się na tym NSD. Ten NSD jest w stanie wdrożyć dowolny system plików NFDV z parametrami wdrożenia zgodnymi z tą wersją.
publisher_offering_location: region, do którego jest publikowany system plików NFDV.
typ: typ funkcji sieciowej. Prawidłowe wartości to cnf lub vnf.
nsd_name Nazwa grupy projektowej usługi sieciowej. Kolekcja wersji projektu usługi sieciowej. Utworzono, jeśli nie istnieje.
nsd_version Wersja sieciowej bazy danych do utworzenia. Format powinien mieć wartość A.B.C.
nsdv_description Opis NSDV.

Tworzenie projektu usługi sieciowej (NSD)

Zainicjuj proces kompilacji projektu usługi sieciowej (NSD) przy użyciu następującego polecenia:

az aosm nsd build --config-file input-vnf-nsd.jsonc

Po zakończeniu procesu kompilacji przejrzyj następujące wygenerowane pliki, aby uzyskać wgląd w architekturę i strukturę NSD.

Te pliki są tworzone w podkatalogu o nazwie nsd-cli-output:

Katalog/plik opis
nsd-cli-output/artifactManifest
deploy.bicep Szablon Bicep umożliwiający utworzenie manifestu artefaktu z artefaktami wypełnionymi z pliku wejściowego
nsd-cli-output/artifacts
artifacts.json Lista artefaktów (obrazów i szablonów usługi ARM) do przekazania w ramach publikowania. Koreluje z manifestem artefaktu
<nf-name.bicep> Szablon Bicep na funkcję sieciową (NF) RET podaną w pliku wejściowym na potrzeby wdrażania systemu plików NF. Ten szablon jest konwertowany na szablon usługi ARM i przekazywany do magazynu artefaktów podczas uruchamiania polecenia publikowania
nsd-cli-output/base
deploy.bicep Szablon Bicep służący do tworzenia wydawcy, kont magazynu i grupy projektowej usługi sieciowej współużytkowanej przez wszystkie wirtualne woluminy NSD tej grupy NSD
nsd-cli-output/nsdDefinition
deploy.bicep Szablon Bicep umożliwiający utworzenie wersji projektu usługi sieciowej (NSDV). Ten szablon zawiera szablony elementów zasobów podrzędnych, które są pobierane z opublikowanych szablonów NFs lub ARM (dla infrastruktury) zdefiniowanych w pliku nsd-input.jsonc
config-group-schema.json Schemat połączonej grupy konfiguracji dla wszystkich NFs w tym NSDV. Ten schemat definiuje dane wejściowe, które operator musi podać w wartościach grupy konfiguracji podczas wdrażania NSDV w ramach usługi sieciowej lokacji (SNS).
<Nazwa nf>-mappings.json Plik, który mapuje wartości grupy konfiguracji dostarczone przez operatora na parametry wdrożenia zdefiniowane w NSDV. Istnieje jeden na NF w NSDV
nsd-cli-output
all_deploy.parameters.json Nadzbiór wszystkich parametrów wdrażania systemu plików NF, zapewniając pojedynczy plik do dostosowywania nazw zasobów. Wartości wyjściowe tego pliku za pomocą polecenia kompilacji są pobierane z pliku nsd-input.jsonc. Wartości w tym pliku można edytować przed uruchomieniem publikowania, na przykład aby opublikować w innej lokalizacji lub użyć innej nazwy wydawcy
index.json Plik używany wewnętrznie podczas publikowania zasobów. Nie edytuj

Publikowanie projektu usługi sieciowej (NSD)

Aby opublikować projekt usługi sieciowej (NSD) i skojarzone z nią artefakty, wydaj następujące polecenie:

az aosm nsd publish --build-output-folder nsd-cli-output

Przejdź do grupy zasobów wydawcy, aby obserwować i przeglądać utworzone zasoby i artefakty.

Te zasoby są tworzone:

Nazwa zasobu Typ zasobu
ubuntu-nsd Projekt usługi sieciowej.
1.0.0 (ubuntu-nsd/1.0.0) Wersja projektu usługi sieciowej.
ubuntu-nsd-nsd-manifest-1-0-0 Manifest artefaktu wydawcy.
ConfigGroupSchema Schemat grupy konfiguracji.

Następne kroki