關於使用 Azure 運算子服務管理員 (AOSM) CLI 延伸模組的參數公開
本文件說明 Azure 運算子服務管理員 (AOSM) Azure CLI 延伸模組如何將 ARM 範本中的 Helm 值和參數轉譯成向操作員公開的設定模型。
背景
AOSM 可讓網路功能定義版本 (NFDV) 的發行者在部署網路功能 (NF) 時選擇可設定的參數。 AOSM 還可讓網路服務設計版本 (NSDV) 的設計者選擇部署網站網路服務 (SNS) 時可設定的參數。
要公開哪些參數的選擇,是以一或多個結構描述加以編碼。 發行者會在 NFDV 的屬性中定義結構描述 (屬性 deployParameters
);設計者會在個別的 Azure 資源中定義結構描述 - 設定群組結構描述 (CGS)。 CGS 和 NSDV 必須將一組參數和值傳遞至符合 NFDV 中結構描述的 NFDV。
Azure CLI AOSM 延伸模組支援自動產生 NFDV deployParameters
屬性、CGS 和對應,確保所有參數在部署時間正確傳遞至 NF。
輸入檔設定
Azure CLI AOSM 延伸模組 az aosm nfd generate-config
命令會產生輸入檔。 輸入檔會隨著 --definition-type
參數而有所不同。 所有變體都包含下列參數:
// If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
// If not set or set to false, only required parameters without defaults will be exposed.
"expose_all_parameters": false,
此參數會控制 AOSM CLI 延伸模組中的參數公開行為。
警告
藉由公開所有參數,您也會公開所有預設值。 請確定您的預設值不包含任何敏感性資訊。
預設行為
依預設,expose_all_parameters
一律設定為 false
。 AOSM CLI:
- 剖析容器化網路功能 (CNF) Helm 值或虛擬化網路功能 (VNF) Azure Resource Manager (ARM) 範本參數
- 在 NFDV 中產生
deployParameters
結構描述,其中包含任何沒有預設值的必要參數
例如,此 VNF ARM 範本摘錄會定義兩個參數。 一個是必要參數,一個是選用參數。
"parameters": {
"required": {
"type": "string",
"metadata": {
"description": "A required parameter."
}
},
"optional": {
"type": "string",
"defaultValue": "optional"
"metadata": {
"description": "An optional parameter."
}
},
}
AOSM CLI 會建置 NFDV,以在 deployParameters
屬性中公開 required
參數。 optional
參數不公開。 部署時,VNF 會 optional
設定為的 optional
的預設值進行部署。 觸發部署的使用者必須提供 required
的值。
此行為與 CNF 的行為類似。 AOSM CLI 可讓使用者提供 values.yaml
檔案,以覆寫 Helm 圖表中的預設 values.yaml
檔案。 此覆寫 values.yaml
檔案所含的參數不一定含值。 下列 values.yaml
覆寫檔案摘錄顯示含值的參數,以及不含值的參數。
optional: "optional"
required:
AOSM CLI 會建置 NFDV,以在 deployParameters
屬性中公開 required
參數。 optional
參數不公開。 部署時,CNF 會將 optional
設定為 optional
的預設值進行部署。 觸發部署的使用者必須提供 required
的值。
重要
AOSM CLI 會執行 helm template
來驗證 helm 圖表中的預設 values.yaml
檔案是否與圖表一致。 如果這個 helm template
命令失敗,CLI 會引發錯誤。
公開所有參數
Azure AOSM CLI 延伸模組支援讓所有參數都成為可設定的。 在 az aosm nfd generate-config
產生的輸入檔中必要設定為:
// If set to true, all NFD configuration parameters are made available to the designer, including optional parameters and those with defaults.
// If not set or set to false, only required parameters without defaults will be exposed.
"expose_all_parameters": true,
如果 expose_all_parameters
設定為 true
,則為 AOSM CLI 延伸模組:
- 剖析容器化網路功能 (CNF) Helm 值或虛擬化網路功能 (VNF) Azure Resource Manager (ARM) 範本參數
- 在 NFDV 中產生
deployParameters
結構描述,其中包含所有剖析的參數 - ARM 範本中的任何預設值或 helm 值中設定的值,均在 NFDV
deployParameters
結構描述中設定為預設值。
CGS 建構
在所有情況下,az aosm nfd build
命令公開的所有參數都會在 az aosm nsd build
命令期間新增至 CGS。 AOSM CLI 延伸模組也會將一些額外參數新增至 CGS,而不是從 ARM 範本或 helm 值剖析的參數,例如 customLocationId
和 managedIdentityId
。 需要這些參數,才能在目標環境上部署網站網路服務。