你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

如何在 Azure 运营商 Nexus 中使用提交工作流 v2

本文介绍如何在 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。

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"
  • 该作返回 状态SucceededInProgressFailed

  • 使用 CLI 轮询或 Azure 活动日志监视进度

重要

  • 此工作流仅适用于构造处于“已预配”状态启用管理状态时。
  • 提交前必须锁定; 在未先锁定的情况下,提交无法继续
  • 不支持回滚 – 必须更新并重新提交任何不正确的配置。
  • 此工作流外部的更新(例如标记或断开连接的资源)不需要提交