Szybki start: projektowanie konteneryzowanej funkcji sieciowej (CNF) przy użyciu serwera Nginx
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.
- Ukończ przewodnik Szybki start: publikowanie kontenera Nginx jako konteneryzowanej funkcji sieciowej (CNF).
Tworzenie pliku wejściowego
Utwórz plik wejściowy do publikowania wersji projektu usługi sieciowej i skojarzonych zasobów. Wykonaj następujące polecenie, aby wygenerować plik konfiguracji wejściowej wersji projektu usługi sieciowej (NSDV).
az aosm nsd generate-config
Wykonanie poprzedniego polecenia generuje plik nsd-input.jsonc.
Uwaga
Edytuj plik input.json. Zastąp ją wartościami przedstawionymi w poniższym przykładzie. Zapisz plik jako input-cnf-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
).
Oto przykład input-cnf-nsd.jsonc:
{
// 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": "nginx-publisher",
// Resource group for the Publisher resource.
// Will be created if it does not exist.
"publisher_resource_group_name": "nginx-publisher-rg",
// Name of the ACR Artifact Store resource.
// Will be created if it does not exist.
"acr_artifact_store_name": "nginx-nsd-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": "nginx-nsdg",
// 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": "Deploys a basic NGINX CNF",
// 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": "nginx-publisher",
// The resource group that the publisher is hosted in.
"publisher_resource_group": "nginx-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": "nginx",
// 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": "cnf"
}
}
]
}
- publisher_name — nazwa zasobu wydawcy, do którego ma zostać opublikowana definicja. Utworzono, jeśli jeszcze nie istnieje.
- publisher_resource_group_name — grupa zasobów dla zasobu wydawcy. Utworzono, jeśli jeszcze nie istnieje. W tym przewodniku Szybki start zaleca się użycie tej samej grupy zasobów, która była używana podczas publikowania definicji funkcji sieciowej.
- acr_artifact_store_name — nazwa zasobu magazynu artefaktów usługi ACR. Utworzono, jeśli jeszcze nie istnieje.
- location — lokalizacja platformy Azure do użycia podczas tworzenia zasobów.
- nsd_name — nazwa grupy projektowej usługi sieciowej. Kolekcja wersji projektu usługi sieciowej. Utworzono, jeśli jeszcze nie istnieje.
- nsd_version — tworzona wersja NSD. W formacie A.B.C.
- nsdv_description — opis NSDV.
- resource_element_templates:
- publisher — nazwa wydawcy, w ramach którego opublikowano ten zestaw plików 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. Będzie to taka sama jak nazwa NF, jeśli opublikowano NFDV przy użyciu interfejsu wiersza polecenia.
- 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 NFDV.
- type — typ funkcji sieciowej. Prawidłowe wartości to cnf lub vnf.
Tworzenie wersji projektu usługi sieciowej (NSDV)
Zainicjuj proces kompilacji dla serwera NSDV przy użyciu następującego polecenia:
az aosm nsd build -f input-cnf-nsd.jsonc
Proces kompilacji generuje folder o nazwie nsd-cli-output
. Po zakończeniu procesu kompilacji przejrzyj wygenerowane pliki, aby uzyskać wgląd w architekturę i strukturę NSDV oraz powiązane zasoby.
Te pliki są tworzone:
Katalog/plik | opis |
---|---|
nsdDefinition/config-group-schema.json | Definiuje schemat parametrów wdrożenia wymaganych do utworzenia usługi sieci lokacji (SNS) z tego NSDV. |
nsdDefinition/nginx-nsd-mappings.json | Mapuje parametry NSDV na wartości wymagane dla szablonu arm systemu plików NF. |
nsdDefinition/deploy.bicep | Szablon Bicep do tworzenia samego serwera NSDV. |
Artefakty | Zawiera szablon bicep dla szablonu arm systemu plików NF, a także listę artefaktów, które mają zostać uwzględnione w manifeście artefaktu. |
artifactManifest/deploy.bicep | Szablon Bicep do tworzenia manifestu artefaktu. |
base/deploy.bicep | Szablon Bicep służący do tworzenia wydawcy, grupy projektowej usługi sieciowej i zasobów magazynu artefaktów |
Publikowanie wersji projektu usługi sieciowej (NSDV)
Aby opublikować NSDV i skojarzone z nim artefakty, wydaj następujące polecenie:
az aosm nsd publish --build-output-folder nsd-cli-output
Po zakończeniu procesu publikowania przejdź do grupy zasobów wydawcy, aby obserwować i przeglądać utworzone zasoby i artefakty.