你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure Operator Service Manager (AOSM) 容器化网络功能 (CNF) 部署期间诊断 Helm 安装失败的技术
CNF 可以像具有少量配置参数的单个 helm 包一样简单,也可以像具有数千个配置参数的数十个 helm 包一样复杂。 本文介绍调试 helm 安装失败的一系列常见故障排除步骤。
使用直接 helm 命令确认 helm 包安装正确
AOSM 无法安装通过不正确的 helm 图表或错误配置 values.yaml
文件生成的 CNF。 有两个基本先决条件:
- CNF 中包含的每个 helm 图表都必须在提供用于部署图表的值集时传递
helm template
- 直接在 Azure Arc 连接的 Kubernetes 群集上运行时,
helm install
必须成功
测试你的 helm 图表是否符合这些先决条件。 请确保使用在通过 AOSM 进行部署时要使用的同一 helm 值进行测试。
确认你的网络功能 (NF) ARM 模板已将 --atomic
设置为 false
默认情况下,AOSM 会从群集中删除失败的安装以减少资源使用量。 这可以防止故障方案中的详细调试。 NF ARM 模板支持重写此行为。 使用此操作指南配置 AOSM 以保留失败的安装。
确认网络功能 (NF) Azure 资源管理器 (ARM) 模板使用项目存储注入
AOSM 支持对 helm 图表进行零接触载入。 此功能在 NF ARM 模板中配置,如果使用 Az CLI AOSM 扩展载入 CNF,则会自动启用此功能。
- 从项目存储下载 NF ARM 模板。
- 确认
Microsoft.HybridNetwork/networkFunctions
的roleOverrideValues
属性包含以下代码片段。 此代码片段使用从三个独立的 Helm 图表构建的虚构 Contoso CNF。 这些 helm 图表在网络功能定义版本 (NFDV) 中建模为三个网络功能应用程序。 ARM 模板应具有 NFDV 中每个网络功能应用程序的roleOverrideValues
数组中的一个元素。
roleOverrideValues: ["{\"name\": \"Contoso-one\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}},{\"name\": \"Contoso-two\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}},{\"name\": \"Contoso-three\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}}"]
如果 ARM 模板不包含每个网络功能应用程序的 \"injectArtifactStoreDetails\":\"true\"
设置,请编辑 ARM 模板以在 NFDV 中包含每个网络功能应用程序的设置,并将 ARM 模板上传到项目存储。
使用 AOSM Azure 门户查看 SNS 部署错误
使用 AOSM Azure 门户查看 NF 部署错误
使用 AOSM Azure 门户查看网络功能部署参数
此视图显示已传递到 NF 部署操作的值。 这些值包含在用于部署 NF 的 helm install
命令中。 错误配置、意外、缺失或格式不正确的值可能会导致 helm install
命令失败。
使用 AOSM Azure 门户查看网络功能组件部署参数
- 访问 Azure 门户并打开已将 SNS 部署到的资源组
- 打开 SNS 概述并单击指向资源属性的链接
- 打开 NF 概述,然后从资源菜单中导航到“组件”页。
- 按下“以 JSON 打开视图”,以获取感兴趣的组件。
此视图显示 helm install
命令上传递给 helm 图表的值。 每个值都使用 --set
传递给 helm install
命令。 错误配置、意外、缺失或格式不正确的值可能会导致 helm install
命令失败。