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
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.
Rola Współautor nad tą subskrypcją w celu utworzenia grupy zasobów lub istniejącej grupy zasobów, w której masz rolę Współautor.
Przyjęto również założenie, że zostały spełnione wymagania wstępne w przewodniku Szybki start: wykonaj wymagania wstępne dotyczące wdrażania funkcji sieci wirtualnej w programie Azure Operator Service Manager
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.