共用方式為


快速入門:使用 Nginx 設計容器化網路功能 (CNF) 網路服務設計

本快速入門說明如何使用 az aosm Azure CLI 延伸模組來建立及發佈基本網路服務設計。

必要條件

建立輸入檔

建立用於發佈網路服務設計版本和相關聯資源的輸入檔。 執行下列命令,以產生網路服務設計版本 (NSDV) 的輸入設定檔。

az aosm nsd generate-config

執行上述命令會產生 nsd-input.jsonc 檔案。

注意

編輯 input.json 檔案。 將其取代為以下範例中所示的值。 將檔案儲存為 input-cnf-nsd.jsonc

如果您在發佈 NFDV 時變更了發行者的名稱,請使用 publisher_namepublisher 欄位的發行者名稱 (後者位於 resource_element_templates 陣列中)。

如果您已使用不同的資源群組名稱,請更新 publisher_resource_group_namepublisher_resource_group 欄位 (後者位於 resource_element_templates 陣列中)。

以下是範例 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 - 您想要發佈定義之發行者資源的名稱。 如果尚未存在,請加以建立。
  • publisher_resource_group_name - 發行者資源的資源群組。 如果尚未存在,請加以建立。 在本快速入門中,建議您使用發佈網路函式定義時所使用的相同資源群組。
  • acr_artifact_store_name - ACR 成品存放區資源的名稱。 如果尚未存在,請加以建立。
  • location - 建立資源時要使用的 Azure 位置。
  • nsd_name:網路服務設計群組名稱。 網路服務設計版本的集合。 如果尚未存在,請加以建立。
  • nsd_version:建立中的 NSD 版本。 以 A.B.C 的格式表示。
  • nsdv_description:NSDV 的描述。
  • resource_element_templates
    • publisher:發佈此 NFDV 的發佈者的名稱。
    • publisher_resource_group:在其中裝載發佈者的資源群組。
    • name:要使用此 NSD 部署的現有網路功能定義群組的名稱。 如果您使用 CLI 發佈 NFDV,這會與 NF 名稱相同。
    • version:此 NSD 所基於的現有網路功能定義的版本。 此 NSD 能夠部署任何具有與此版本相容的部署參數的 NFDV。
    • publisher_offering_location:將 NFDV 發佈到其中的區域。
    • type:網路功能的類型。 有效值為 cnf 或 vnf。

建置網路服務設計版本 (NSDV)

使用下列命令起始 NSDV 的建置程序:

az aosm nsd build -f input-cnf-nsd.jsonc

此建置程序會產生名為 nsd-cli-output 的資料夾。 建置程序完成之後,請檢閱產生的檔案,以深入了解 NSDV 架構和結構,以及相關聯的資源。

這些檔案已建立:

目錄/檔案 描述
nsdDefinition/config-group-schema.json 定義從這個 NSDV 建立網站網路服務 (SNS) 所需的部署參數結構描述。
nsdDefinition/nginx-nsd-mappings.json 將 NSDV 的參數對應至 NF ARM 範本所需的值。
nsdDefinition/deploy.bicep 用於建立 NSDV 本身的 Bicep 範本。
artifacts 包含 NF ARM 範本的 bicep 範本,以及要包含在成品資訊清單中的成品清單。
artifactManifest/deploy.bicep 用於建立成品資訊清單的 Bicep 範本。
base/deploy.bicep 用於建立發行者、網路服務設計群組和成品存放區資源的 Bicep 範本

發佈網路服務設計版本 (NSDV)

若要發佈 NSDV 及其相關聯的成品,請發出下列命令:

az aosm nsd publish --build-output-folder nsd-cli-output

發佈程序完成後,瀏覽至發佈者資源群組以觀察並檢閱所產生的資源和成品。

下一步