快速入門:將 Ubuntu 虛擬機器 (VM) 發佈為虛擬網絡函式 (VNF)
本快速入門說明如何使用 az aosm
Azure CLI 擴充功能來建立及發佈基本網路函式定義。 其用途是示範發行者 Azure 操作員服務管理員 (AOSM) 資源的工作流程。 這裡提供的基本概念旨在讓使用者建立更令人興奮的服務。
必要條件
需要具有作用中訂用帳戶的 Azure 帳戶。 如果您沒有 Azure 訂用帳戶,請依照此處 的指示開始免費 建立帳戶,再開始。
此訂用帳戶上的參與者角色,以便建立資源群組,或您擁有參與者角色的現有資源群組。
也假設您已遵循快速入門中的 必要條件:完成在 Azure 操作員服務管理員中部署虛擬化網路函式的必要條件
建立輸入檔
執行下列命令來產生網路函式定義 (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 分鐘的時間。 如果資源已經存在,則程式會更快。