你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文介绍如何在 Azure 运营商关系中使用提交工作流版本 2(提交 V2),安全地在支持的资源中暂存、查看、提交或放弃配置更改。 与以前的提交模型相比,提交 V2 提供了一种更高效且可靠的方法,用于将更改应用到 Nexus 构造资源。
先决条件
运行时版本:
5.0.1
或更高版本是提交工作流 v2 所需的条件。Azure CLI 版本
8.0.0b3
或更高版本已安装网络结构必须处于
Provisioned
状态,配置状态必须为Succeeded
。网络结构及所有受影响的资源必须将管理员状态设置为
Enabled
。必须在系统架构上配置 BYOS(自带存储)才能使用可选的验证步骤。
提交工作流 v2 概述
Commit V2 使您能够更新处于草稿状态的受支持资源,验证配置更改,查看配置差异,以及显式地提交或放弃这些更改。 它可确保复杂网络结构操作中的原子性、操作控制并改进用户体验。
提交 V2 的优点
更快的提交操作:加快应用配置更改的过程。
查看待处理的配置:在提交之前查看和验证配置差异。
放弃提交批处理:如有必要,还原暂存更改。
锁定配置:防止暂存和审阅期间发生冲突的更改。
高级方案的基础:在未来版本中启用 A/B 提交策略和多用户会话。
工作流摘要
提交 V2 工作流包括以下步骤:
使用 PATCH 操作更新草稿模式下支持的资源。
锁定结构配置以查看或放弃暂存更改。
(可选)查看每个设备的配置差异。
提交或放弃更改。
提交/放弃后,结构和所有相关资源将返回到“已预配”状态。
步骤 1:在草稿模式下更新资源
可以使用 PATCH 操作更新资源,这些操作将资源保留在草稿中 (ConfigurationState: Accepted
),直到显式提交。 在提交之前,这些更改不会应用于数据平面。
示例方案
创建新的 路由策略 并将其附加到 内部网络 1
创建另一个 内部网络 2
所有这些更改都是 批处理的,但尚未 应用于 设备。
步骤 2:锁定结构配置
在查看配置差异或放弃提交之前,结构必须在配置模式下锁定。
锁定配置以指示所有预期更新都已完成。 锁定后,在解锁之前,任何与构造相关的资源 都无法进行进一步更新 。
Azure CLI 命令
az networkfabric fabric lock-fabric \
--action Lock \
--lock-type Configuration \
--network-fabric-name "example-fabric" \
--resource-group "example-rg"
注释
确保接受构造配置状态。
由于不相关的(非提交)操作,Fabric 未受到维护。
网络结构版本为 >= 5.0.1。
Fabric 处于 ProvisioningState:Succeeded。
步骤 3:验证更新(可选但建议)
V2 提供的另一个关键功能是查看每台设备(NPB 设备除外)的待提交配置和最近一次提交的配置,以便用户能够对其进行比较以确认预期配置。 如果存在任何差异,用户可以解锁结构、进行必要的更改、锁定结构、查看挂起的提交,然后进行提交操作。
使用 view-device-configuration
后置动作验证配置。 此步骤提供对预期配置结果的见解。
重要
结构必须在配置模式下锁定。
必须在网络结构上配置 BYOS。
Azure CLI 命令
az networkfabric fabric view-device-configuration \
--network-fabric-name "example-fabric"\
--resource-group "example-rg"
配置差异位置
配置差异文件以以下格式存储在客户提供的存储帐户中:
https://<storageAccountName>.blob.core.windows.net/<NF_name>/CommitOperations/DeviceConfigDiff/<CommitBatchId>
此外,若要检索当前的 CommitBatchId,请使用 API 版本 2024-06-15-preview
或更高版本对构造资源执行 GET 请求。
步骤 3a:放弃提交批处理(可选)
提交放弃是 NetworkFabric 上的 POST 操作,在执行提交之前允许。 此操作允许用户通过特定提交会话的 PATCH 操作对资源所做的更改进行还原。 使用 ViewDeviceConfiguration 验证后,如果用户发现问题,可以选择放弃挂起的配置更新。 此操作将 ARM 资源状态还原到其上一个已知良好的配置,并将构造状态从“已接受”和“已锁定”重置为“成功”。
注释
可以通过使用 API 版本 2024-06-15-preview
或更高版本对构造资源执行 GET 请求来检索 CommitBatchId。
az networkfabric fabric discard-commit-batch \
--resource-group "example-rg" \
--network-fabric-name "example-fabric"
--commit-batch-id "example-commit-batch-id"
注释
内部/外部网络资源移动到“管理状态:已禁用”和“配置状态:已拒绝”。
不会删除资源,用户必须根据需要手动删除它们。
网络监视器的处理包括额外的约束条件(禁用的监视器将恢复为被拒绝状态)。
需要进行更多更新?
解锁配置以进行进一步更改,然后重复锁定/验证/提交步骤。
解锁示例
az networkfabric fabric lock-fabric \
--action Unlock \
--lock-type Configuration \
--network-fabric-name "example-fabric" \
--resource-group "example-rg"
步骤 4:提交配置(必需)
提交配置以将批处理更改应用到所有相关结构设备。
Azure CLI 命令
az networkfabric fabric commit-configuration \
--resource-group "example-rg" \
--resource-name "example-fabric"
该作返回 状态:
Succeeded
、InProgress
或Failed
使用 CLI 轮询或 Azure 活动日志监视进度
重要
-
此工作流仅适用于构造处于“已预配”状态并启用管理状态时。
- 提交前必须锁定; 在未先锁定的情况下,提交无法继续。
-
不支持回滚 – 必须更新并重新提交任何不正确的配置。
- 此工作流外部的更新(例如标记或断开连接的资源)不需要提交。