Share via


快速入門:將 Ubuntu 虛擬機器 (VM) 發佈為虛擬網絡函式 (VNF)

本快速入門說明如何使用 az aosm Azure CLI 擴充功能來建立及發佈基本網路函式定義。 其用途是示範發行者 Azure 操作員服務管理員 (AOSM) 資源的工作流程。 這裡提供的基本概念旨在讓使用者建立更令人興奮的服務。

必要條件

建立輸入檔

執行下列命令來產生網路函式定義 (NFD) 的輸入組態檔。

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

執行此命令之後,會產生 input.json 檔案。

注意

編輯 input.json 檔案,並將它取代為範例中顯示的值。 將檔案儲存為 input-vnf-nfd.json

以下是 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"
    } 
} 
變數 描述
publisher_name 您想要發佈定義之發行者資源的名稱。 如果不存在,則建立。
publisher_resource_group_name 發行者資源的資源群組。 如果不存在,則建立。
acr_artifact_store_name ACR 成品存放區資源的名稱。 如果不存在,則建立。
位置 建立資源時要使用的 Azure 位置。
nf_name NF 定義的名稱。
version A.B.C 格式的 NF 定義版本。
blob_artifact_store_name 儲存體帳戶成品存放區資源的名稱。 如果不存在,則建立。
image_name_parameter VM ARM 範本中的參數名稱,指定要用於 VM 的映射名稱。
arm_template artifact_name:成品的名稱。
file_path :選擇性。 您想要從本機磁片上傳之成品的檔案路徑。 若不需要,請刪除 。 相對路徑相對於組態檔。 在 Windows 上,使用另一個反斜線逸出任何反斜線。
版本 :成品的版本。 針對 ARM 範本版本,格式必須為 A.B.C。
vhd artifact_name :成品的名稱。
file_path :選擇性。 您想要從本機磁片上傳之成品的檔案路徑。 若不需要,請刪除 。 相對路徑相對於組態檔。 在 Windows 上,使用另一個反斜線逸出任何反斜線。
blob_sas_url:選擇性。 您想要複製到成品存放區的 Blob 成品 SAS URL。 若不需要,請刪除 。
版本 :成品的版本。 成品的版本。 對於 VHD 版本,必須是 A-B-C 格式。
「image_disk_size_GB :選擇性。 指定以 GB 為單位的空白資料磁片大小。 此值不能大於 1023 GB。 若不需要,請刪除 。
image_hyper_v_generation :選擇性。 指定從映射建立之 VirtualMachine 的 HyperVGenerationType。 有效值為 V1 和 V2。 如果未指定,V1 是預設值。 若不需要,請刪除 。
image_api_version :選擇性。 用來建立 Microsoft.Compute/images 資源的 ARM API 版本。 若不需要,請刪除 。

注意

使用 [file_path] 選項時,必須擁有具有足夠頻寬的可靠網際網路連線,因為上傳持續時間可能會因檔案大小而有所不同。

重要

上表所述的每個變數都必須是唯一的。 例如,資源組名不能已經存在,發行者和成品存放區名稱在區域中必須是唯一的。

建置網路函式定義 (NFD)

若要建構網路函式定義 (NFD),請起始建置程式。

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

建置完成後,請檢查產生的檔案,以進一步瞭解網路函式定義 (NFD) 結構。

這些檔案會建立在名為 nfd-bicep-ubuntu-template 的子目錄中:

檔案 說明
configMappings 目錄,其中包含將網路函式定義版本 (NFDV) 部署參數對應至虛擬機器 (VM) ARM 範本所需的參數的檔案。
schemas 包含檔案,這些檔案會定義從這個網路函式定義版本 (NFDV) 建立網路函式 (NFDV) 所需的部署參數。
vnfartifactmanifests.bicep 用於建立成品資訊清單的 Bicep 範本。
Vnfdefinition.bicep 用於建立網路函式定義版本 (NFDV) 本身的 Bicep 範本。

注意

如果發生錯誤,唯一更正的選項是使用適當的選取專案重新執行命令。

發佈網路函式定義並上傳成品

執行下列命令來發佈網路函式定義 (NFD),並上傳相關聯的成品:

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

當命令完成時,請檢查發行者資源群組內的資源,以觀察已建立的元件和成品。

系統會建立這些資源:

資源名稱 資源類型
ubuntu-vm-nfdg 網路函式定義。
1.0.0 網路函式定義版本。
ubuntu-publisher 發行者。
ubuntu-vm-acr-manifest-1-0-0 發行者成品資訊清單。
ubuntu-vm-sa-manifest-1-0-0 發行者成品資訊清單。
ubuntu-acr 發行者成品存放區。
ubuntu-blob-store 發行者成品存放區。

注意

建立成品存放區大約需要 10 分鐘的時間。 如果資源已經存在,則程式會更快。

下一步