Udostępnij za pośrednictwem


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

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.

Następne kroki