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. |