共用方式為


更新和認可 Network Fabric 資源

目前,Nexus Network Fabric 資源會要求您停用父資源(例如 L3Isolation 網域),並使用更新的值來信譽父或子資源,並執行系統管理後動作來啟用和設定裝置。 Network Fabric 的新資源更新流程可讓您在啟用資源時,透過 commitConfiguration POST 動作批處理和更新一組 Network Fabric 資源。 如果您選擇停用 L3 隔離網域的目前工作流程,進行變更並啟用 L3 隔離網域,則不會有任何變更。

Network Fabric 資源更新概觀

連結至現有已啟用父資源之子資源的任何建立、更新、刪除 (CUD) 作業,或將已啟用父資源屬性的更新視為 Update 作業。 一些範例是新的內部網路,或新的子網必須新增至現有的已啟用第 3 層隔離網域(內部網路是第 3 層隔離網域的子資源)。 新的路由原則必須連結至現有的內部網路;這兩種 案例都符合更新 作業的資格。

下表所示支援之網路網狀架構資源上執行的任何更新作業,會將網狀架構置於擱置認可狀態(目前 已接受 於設定狀態),您必須起始網狀架構認可組態動作以套用所需的變更。 網狀架構中網路網狀架構資源的所有更新(包括子資源)都遵循相同的工作流程。

只有在網狀架構處於布建狀態,且網路網狀架構資源處於啟用的系統管理狀態時,才會有效且適用資源的認可動作/更新。 更新 父系和子資源可以批處理(跨各種網路網狀架構資源),也可以commitConfiguration執行動作,以在單一 POST 動作中執行所有變更。

透過系統管理動作建立父資源和啟用,與更新/認可動作工作流程無關。 此外,啟用/停用的所有系統管理動作都是獨立的,而且不需要 commitConfiguration 動作觸發程式來執行。 CommitConfiguration 動作僅適用於操作員想要更新任何現有 Azure Resource Manager 資源和網狀架構的案例,父資源處於啟用狀態。 操作員用來建立 Network Fabric 資源並啟用的任何自動化腳本或 bicep 範本,都不需要進行任何變更。

使用者工作流程

若要成功執行更新資源,網狀架構必須處於布建狀態。 下列步驟涉及更新 Network Fabric 資源。

  1. 操作員會使用透過 AzCli、Azure Resource Manager、Portal 對 Network Fabric 資源的更新呼叫,更新所需的網路網狀架構資源(可批處理多個資源更新),這些資源已啟用(設定套用至裝置)。 (請參閱下表中支援的案例、資源和參數詳細數據。

    在下列範例中,新的 internalnetwork 會新增至現有的 L3Isolation l3domain101523-sm

    az networkfabric internalnetwork create --subscription 5ffad143-8f31-4e1e-b171-fa1738b14748 --resource-group "Fab3Lab-4-1-PROD" --l3-isolation-domain-name "l3domain101523-sm" --resource-name "internalnetwork101523" --vlan-id 789 --mtu 1432 --connected-ipv4-subnets "[{prefix:'10.252.11.0/24'},{prefix:'10.252.12.0/24'}]
    
  2. 一旦 Azure Resource Manager 更新呼叫成功,特定資源的 ConfigurationState 會設定為 [已接受 ],且失敗時,它會設定為 [已拒絕]。 不論 PATCH 呼叫成功/失敗為何,網狀架構 ConfigurationState 都會設定為 [已接受 ]。

    如果網狀架構上的任何 Azure Resource Manager 資源(例如內部網路或 RoutePolicy)處於 拒絕 狀態,操作員必須更正設定,並確保特定資源的 ConfigurationState 已設定為 [已接受],再繼續進行。

  3. 操作員會在網狀架構資源上執行 commitConfiguration POST 動作。

    az networkfabric fabric commit-configuration --subscription 5ffad143-8f31-4e1e-b171-fa1738b14748 --resource-group "FabLAB-4-1-PROD" --resource-name "nffab3-4-1-prod"
    
  4. 服務會驗證所有資源更新是否成功,並驗證輸入。 它也會驗證連線的邏輯資源,以確保一致的行為和設定。 一旦所有驗證都成功,就會產生新的組態並推送至裝置。

  5. 特定資源configurationState會重設為 [成功],且 [網狀架構configurationState] 設定為 [已布建]。

  6. commitConfiguration如果動作失敗,服務會顯示適當的錯誤訊息,並通知操作員潛在的 Network Fabric 資源更新失敗。

State 定義 Azure Resource Manager 資源更新之前 CommitConfiguration & Post Azure Resource Manager 更新之前 Post CommitConfiguration
管理員 狀態 表示在資源上執行之系統管理動作的狀態 已開啟 (只支援已開啟) 已開啟 (只支援已開啟) 已開啟 (使用者可以停用)
設定狀態 表示操作員動作/服務驅動組態的狀態 資源狀態 - 成功,
布建網狀架構狀態
資源狀態
- 已接受 (成功)
- 拒絕 (失敗)
網狀架構狀態
-接受
資源狀態
- 已接受 (失敗),
- 成功 (成功)
網狀架構狀態
-供應
佈建狀態 表示 Azure Resource Manager 布建資源狀態的狀態 已佈建 已佈建 已佈建

支援的 Network Fabric 資源和案例

網路網狀架構更新支持網路網狀架構資源 (Network Fabric 4.1, Nexus 2310.1)

網路網狀架構資源 類型 支援的案例 不支援的案例 備註
第2層隔離網域 上層 - 更新至屬性 - MTU
- 新增/更新標籤
重新PUT 資源
第3層隔離網域 上層 更新至屬性
- 重新發佈連線。
- 重新發佈靜態路由。
- 匯總路由設定
- 連線的子網路由原則。 
加法/更新標籤
重新PUT 資源
內部網路 子系 (L3 ISD) 新增內部網路
更新至屬性
-Mtu
- 新增/更新已連線的 IPv4/IPv6 子網
- 新增/更新 IPv4/IPv6 RoutePolicy
- 新增/更新輸出/輸入 ACL
- 更新 isMonitoringEnabled 旗標
- 新增/更新靜態路由
- BGP 組態
加法/更新標籤
- 重新PUT 資源。
- 啟用父層 3 隔離網域時刪除內部網路。
若要刪除資源,必須停用父資源
外部網路 子系 (L3 ISD) 更新至屬性
- 新增/更新 IPv4/IPv6 RoutePolicy
- 選項屬性 MTU、新增/更新輸入和輸出 ACL、
- 選項 A 屬性 – BFD 組態
- 選項 B 屬性 - 路由目標
標記的新增/更新
- 重新PUT 資源。 
- 建立新的外部網路
- 啟用父層 3 隔離網域時刪除外部網路。
若要刪除資源,必須停用父資源。

 注意:每個ISD僅支援一個外部網路。
路由原則 上層 - 更新整個語句,包括 seq number、condition、action。
- 新增/更新標籤
- 重新PUT 資源。 
- 更新以路由原則連結至網路對網路互連資源。
若要刪除資源, connectedResourceIsolationDomain 或 N 對 N 互連)不應該保存任何參考。
IPCommunity 上層 更新整個ipCommunity規則,包括seq number、action、community members、known community。 重新PUT 資源 若要刪除資源,連線 RoutePolicy 的資源不應該保留任何參考。
IPPrefixes 上層 - 更新整個IPPrefix規則,包括seq number、networkPrefix、condition、subnetMask Length。 
- 新增/更新標籤
重新PUT 資源 若要刪除資源,連線 RoutePolicy 的資源不應該保留任何參考。
IPExtendedCommunity 上層 - 更新整個IPExtended社群規則,包括seq number、action、route目標。 
- 新增/更新標籤
重新PUT 資源 若要刪除資源,連線 RoutePolicy 的資源不應該保留任何參考。
Acl 上層 - 新增/更新以符合組態和動態比對組態。
- 更新為組態類型
- 新增/更新 ACL URL
- 新增/更新標籤
- 重新PUT 資源。 
- 更新連結至網路對網路互連資源的 ACL。
若要刪除資源, connectedResource (例如 IsolationDomain 或 N 對 N 互連)不應該保存任何參考。

行為注意事項和條件約束

  • 如果父資源處於 已停用 的系統管理狀態,而且對父資源或子資源進行變更,則 commitConfiguration 動作不適用。 啟用資源會推送組態。 只有在父資源處於 已啟用 系統管理狀態時,才會觸發這類資源的認可路徑。

  • 如果 commitConfiguration 失敗,則網狀架構會維持在 已接受 的組態狀態,直到使用者解決問題並執行成功的 commitConfiguration為止。 目前,只有在發生失敗時才會提供向前復原機制。

  • 如果網狀架構設定處於 「已接受 」狀態,且已更新 Azure Resource Manager 資源尚未認可,則資源上不允許任何系統管理動作。

  • 如果網狀架構設定處於 「已接受 」狀態,且已更新 Azure Resource Manager 資源尚未認可,則無法觸發支援資源的刪除作業。

  • 父資源建立與更新流程無關 commitConfiguration任何資源都不支援重新 PUT 資源。

  • Greenfield 部署和 Brownfield 部署都支援 Network Fabric 資源更新,但有一些限制。

    • 在 Greenfield 部署中,一旦有任何完成網路網狀架構資源的更新,網狀架構組態狀態就會 被接受commitConfiguration觸發動作之後,它會根據動作的成功或失敗,移至 [已布建] 或 [已接受] 狀態。

    • 在 Brownfield 部署中,支援此動作, commitConfiguration 但支援的網路網狀架構資源(例如隔離網域、內部網路、RoutePolicy 和 ACL)必須使用 API (2023-06-15) 的正式運作版本來建立。 在將所有資源移轉至最新版本之後,這項暫時性限制會放寬。

    • 在 Brownfield 部署中,當觸發任何支援的 Network Fabric 資源或 commitConfiguration 動作變更時,Fabric 組態狀態會維持在 [已 布建] 狀態。 此行為是暫時的,直到所有網狀架構移轉至最新版本為止。

  • 路由原則和其他相關資源(IP 社群、IP 擴充社群、IP PrefixList)更新會被視為清單取代作業。 所有現有的語句都會移除,而且只會設定新的更新語句。

  • 在內部網路或外部網路組態中更新或移除現有的子網、路由、BGP 組態和其他相關網路參數,可能會導致流量中斷,且應由操作員自行決定執行。

  • 根據套用的規則,更新新的路由原則和 ACL 可能會導致流量中斷。

  • 使用特定資源類型上的 list 命令(列出內部網路類型的所有資源)來驗證已更新且未認可到裝置的資源。 具有 接受或 拒絕 設定狀態的資源,可以篩選並識別為尚未認可的資源,或認可裝置失敗的位置。

例如:

az networkfabric internalnetwork list --resource-group "example-rg" --l3domain  "example-l3domain"