你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
关于使用 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 资源管理器 (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 允许用户提供替代 helm 图表中默认 values.yaml
文件的 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,
AOSM CLI 扩展,如果 expose_all_parameters
设置为 true
:
- 分析容器化网络功能 (CNF) helm 值或虚拟化网络功能 (VNF) Azure 资源管理器 (ARM) 模板参数
- 在 NFDV 中生成包含所有已分析参数的
deployParameters
模式 - ARM 模板中的任何默认值或 helm 值中配置的值被配置为 NFDV
deployParameters
架构中的默认值。
CGS 构造
在所有情况下,az aosm nfd build
命令公开的所有参数都会在 az aosm nsd build
命令期间添加到 CGS。 AOSM CLI 扩展还向 CGS 添加了一些额外的参数,这些参数不是从 ARM 模板或 helm 值分析的,例如 customLocationId
和 managedIdentityId
。 在目标环境上部署站点网络服务需要这些参数。