Szybki start: publikowanie maszyny wirtualnej z systemem Ubuntu jako funkcji sieci wirtualnej (VNF)

W tym przewodniku Szybki start opisano sposób używania rozszerzenia interfejsu az aosm wiersza polecenia platformy Azure do tworzenia i publikowania podstawowej definicji funkcji sieciowej. Jego celem jest zademonstrowanie przepływu pracy zasobów programu Azure Operator Service Manager (AOSM) wydawcy. Przedstawione tutaj podstawowe pojęcia mają na celu przygotowanie użytkowników do tworzenia bardziej ekscytujących usług.

Wymagania wstępne

Tworzenie pliku wejściowego

Wykonaj następujące polecenie, aby wygenerować plik konfiguracji danych wejściowych dla definicji funkcji sieciowej (NFD).

az aosm nfd generate-config --definition-type vnf

Po wykonaniu tego polecenia zostanie wygenerowany plik input.json.

Uwaga

Zmodyfikuj plik input.json, zastępując go wartościami pokazanymi w przykładzie. Zapisz plik jako input-vnf-nfd.json.

Oto przykładowy plik input-vnf-nfd.json:

{ 
    "publisher_name": "ubuntu-publisher", 
    "publisher_resource_group_name": "ubuntu-publisher-rg", 
    "nf_name": "ubuntu-vm", 
    "version": "1.0.0", 
    "acr_artifact_store_name": "ubuntu-acr", 
    "location": "uksouth", 
    "blob_artifact_store_name": "ubuntu-blob-store", 
    "image_name_parameter": "imageName", 
    "arm_template": { 
        "file_path": "ubuntu-template.json", 
        "version": "1.0.0" 
    }, 
    "vhd": { 
        "file_path": "livecd.ubuntu-cpc.azure.vhd", 
        "version": "1-0-0",
        "image_disk_size_GB": 30,
        "image_hyper_v_generation": "V1",
        "image_api_version": "2023-03-01"
    } 
} 
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 ACR. Utworzono, jeśli nie istnieje.
location Lokalizacja platformy Azure do użycia podczas tworzenia zasobów.
nf_name Nazwa definicji NF.
version Wersja definicji NF w formacie A.B.C.
blob_artifact_store_name Nazwa zasobu magazynu Artifact Store. Utworzono, jeśli nie istnieje.
image_name_parameter Nazwa parametru w szablonie usługi ARM maszyny wirtualnej, który określa nazwę obrazu do użycia dla maszyny wirtualnej.
arm_template artifact_name: nazwa artefaktu.
file_path: opcjonalne. Ścieżka pliku artefaktu, który chcesz przekazać z dysku lokalnego. Usuń, jeśli nie jest to wymagane. Ścieżki względne są względne względem pliku konfiguracji. W systemie Windows wszelkie ukośniki odwrotne z innym ukośnikiem odwrotnym.
version: wersja artefaktu. Wersja szablonów usługi ARM musi mieć format A.B.C.
Vhd artifact_name: nazwa artefaktu.
file_path: opcjonalne. Ścieżka pliku artefaktu, który chcesz przekazać z dysku lokalnego. Usuń, jeśli nie jest to wymagane. Ścieżki względne są względne względem pliku konfiguracji. W systemie Windows wszelkie ukośniki odwrotne z innym ukośnikiem odwrotnym.
blob_sas_url: opcjonalne. Adres URL sygnatury dostępu współdzielonego artefaktu obiektu blob, który chcesz skopiować do magazynu artefaktów. Usuń, jeśli nie jest to wymagane.
version: wersja artefaktu. Wersja artefaktu. W przypadku dysków VHD wersja musi mieć format A-B-C.
"image_disk_size_GB: opcjonalne. Określa rozmiar pustych dysków danych w gigabajtach. Ta wartość nie może być większa niż 1023 GB. Usuń, jeśli nie jest to wymagane.
image_hyper_v_generation: opcjonalne. Określa hyperVGenerationType maszyny wirtualnej utworzonej na podstawie obrazu. Prawidłowe wartości to V1 i V2. Wersja 1 jest wartością domyślną, jeśli nie zostanie określona. Usuń, jeśli nie jest to wymagane.
image_api_version: opcjonalne. Wersja interfejsu API usługi ARM używana do tworzenia zasobu Microsoft.Compute/images. Usuń, jeśli nie jest to wymagane.

Uwaga

W przypadku korzystania z opcji file_path ważne jest, aby mieć niezawodne połączenie internetowe z wystarczającą przepustowością, ponieważ czas trwania przekazywania może się różnić w zależności od rozmiaru pliku.

Ważne

Każda zmienna opisana w poprzedniej tabeli musi być unikatowa. Na przykład nazwa grupy zasobów nie może już istnieć, a nazwy magazynów artefaktów i wydawcy muszą być unikatowe w regionie.

Tworzenie definicji funkcji sieci (NFD)

Aby utworzyć definicję funkcji sieciowej (NFD), zainicjuj proces kompilacji.

az aosm nfd build -f input-vnf-nfd.json --definition-type vnf

Po zakończeniu kompilacji sprawdź wygenerowane pliki, aby lepiej zrozumieć strukturę definicji funkcji sieciowej (NFD).

Te pliki są tworzone w podkatalogu o nazwie nfd-bicep-ubuntu-template:

Plik opis
configMappings Katalog zawierający pliki mapujące parametry wdrożenia dla wersji definicji funkcji sieciowej (NFDV) na parametry wymagane dla szablonu usługi ARM maszyny wirtualnej.
Schematów Katalog zawierający pliki definiujące parametry wdrożenia wymagane do utworzenia funkcji sieciowej (NF) z tej wersji definicji funkcji sieciowej (NFDV).
vnfartifactmanifests.bicep Szablon Bicep do tworzenia manifestów artefaktu.
Vnfdefinition.bicep Szablon Bicep do tworzenia samej wersji definicji funkcji sieciowej (NFDV).

Uwaga

Jeśli wystąpiły błędy, jedyną opcją do poprawienia jest ponowne uruchomienie polecenia z odpowiednimi wyborami.

Publikowanie definicji funkcji sieciowej i przekazywanie artefaktów

Wykonaj następujące polecenie, aby opublikować definicję funkcji sieciowej (NFD) i przekazać skojarzone artefakty:

az aosm nfd publish -f input-vnf-nfd.json --definition-type vnf

Po zakończeniu polecenia sprawdź zasoby w grupie zasobów wydawcy, aby obserwować utworzone składniki i artefakty.

Te zasoby są tworzone:

Nazwa zasobu Typ zasobu
ubuntu-vm-nfdg Definicja funkcji sieciowej.
1.0.0 Wersja definicji funkcji sieciowej.
ubuntu-publisher Wydawca.
ubuntu-vm-acr-manifest-1-0-0 Manifest artefaktu wydawcy.
ubuntu-vm-sa-manifest-1-0-0 Manifest artefaktu wydawcy.
ubuntu-acr Magazyn artefaktów programu Publisher.
ubuntu-blob-store Magazyn artefaktów programu Publisher.

Uwaga

Tworzenie magazynów artefaktów trwa około 10 minut. Jeśli zasób już istnieje, proces jest znacznie szybszy.

Następne kroki