目錄

簡介

背景

縮寫：

目標

拓撲

取消關聯站點

步驟 1.取消關聯範本中的網站

步驟 2.確認不是由每個APIC上的NDO管理對象

步驟 3.移除空白範本

步驟 4.移除空白架構

步驟 5.取消站點與租戶的關聯

步驟 6.刪除NDO中的空租戶

步驟 7.刪除ND中的NDO應用程式

步驟 8.刪除ND中的NDO應用

簡介

本文檔介紹將站點與Cisco Nexus Dashboard Orchestrator (NDO)分離並在APIC中進行本地管理的過程。

背景

目標是同時消除ND和NDO。

當客戶在尋求站點停用，並希望保持最初拉伸的配置（如本地）在站點中繼續運行時，此過程非常有用。

警告：請注意，本文檔概述了取消站點與Cisco Nexus Dashboard Orchestrator (NDO)的關聯並在APIC中維護本地管理的步驟。如果不正確理解和慎重地執行本程式，可能會導致潛在風險或併發症。建議在對網路配置進行任何更改之前保持謹慎，並尋求專家指導。

縮寫：

APIC：應用策略基礎設施控制器

ND：Nexus控制台

NDO：Nexus控制台

VRF：虛擬路由和轉發

BD：網橋域

EPG：終端組

AP：應用配置檔案

目標

此過程的目的是完全取消連結從NDO管理的對象，並分別從每個交換矩陣上的每個APIC集群管理這些對象。

拓撲

出於演示目的，部署此拓撲：

建議的拓撲

在NDO中，部署如下所示：

- 租戶級別：名為Tenant1的租戶是從NDO建立的，並且與兩個站點（名為Site1和Site2）關聯：

驗證與2個站點的租戶關聯

它與3個範本相關聯：

驗證與租戶的模板關聯

- 綱要層次：稱為Schema1的綱要包含3個樣板：

驗證Stretch_Schema中包含的範本

- 模板級別：

- Extended_Site1_Site2是拉伸模板，其中定義了稱為VRF1的拉伸VRF，它與兩個站點相關聯：

驗證模板Extended_Site1_Site2是否在2個站點中延伸

- 在僅與Site1關聯的名為Site1的模板中，定義了本地BD_Site1，並與拉伸的VRF1關聯；此外，AP_Site1和EPG_Site1在此模板中本地定義：

驗證模板Site1是單個站點的本地模板

驗證本地BD的VRF是否為拉伸的VRF

- 在僅與Site2關聯的名為Site2的模板中，定義了本地BD_Site2，並與拉伸的VRF1關聯；此外，AP_Site2和EPG_Site2在此模板中本地定義：

驗證要確認的本機範本網站2

驗證本地BD的VRF是否為拉伸的VRF

要確認對象已正確部署，請執行以下操作：

- 在站點1中：

Tenant1由NDO以及VRF、AP、BD和EPG部署和管理：

在GUI中進行延伸驗證

此外，還可以確認所有MIT對象的註釋均設定為「orchestrator：msc」，表示從NDO進行管理：

租戶：

{

"totalCount": "1",

"imdata":

[

{

"fvTenant":

{

"attributes":

{

"annotation": "orchestrator:msc",

"descr": "",

"dn": "uni/tn-Tenant1",

"name": "Tenant1",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"userdom": ":all:"

}

}

}

]

}

VRF：

"fvCtx":

{

"attributes":

{

"annotation": "orchestrator:msc-shadow:no",

"bdEnforcedEnable": "no",

"descr": "",

"ipDataPlaneLearning": "enabled",

"knwMcastAct": "permit",

"name": "VRF1",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"pcEnfDir": "ingress",

"pcEnfPref": "enforced",

"userdom": ":all:",

"vrfIndex": "0"

},

"children":

[

{

"fvSiteAssociated":

{

"attributes":

{

"annotation": "",

"descr": "",

"name": "",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"siteId": "1",

"userdom": ":all:"

},

"children":

[

{

"fvRemoteId":

{

"attributes":

{

"annotation": "",

"descr": "",

"name": "2",

"nameAlias": "",

"ownerKey": "",

"ownerTag": "",

"remoteCtxPcTag": "32770",

"remotePcTag": "2686983",

"siteId": "2",

"userdom": ":all:"

}

}

}

]

}

},

]

}

對於VRF，可以看到除了「orchestrator：msc」註釋外，還會看到某些子屬性。

為了更好地理解這些子對象，請務必注意，在NDO中，除了站點名稱外，NDO中每個站點都關聯有唯一的站點ID。要查詢ID，請在NDO中導航到Operate > Sites：

驗證NDO中每個站點的站點ID

說明此資訊後，子物件為：

1. fvSiteAssociated：顯示本地站點的站點ID。

2. fvRemoteID：物件也延伸到的遠端站台ID。此對象對於瞭解跨站點的對象轉換也十分有用；對於此VRF，可以看到相應於站點2的網段和ClassID。要進行確認，可以從站點2進行比較：

驗證遠端物件的區段和ClassID

可以看到，站點2的網段和ClassID包含在站點1的VRF對象內部的fvRemoteID中。

BD：

"fvBD": { "attributes": { "OptimizeWanBandwidth": "yes", "annotation": "orchestrator:msc-shadow:no", "name": "BD_Site1", ... }, "children": [ ... { "fvSiteAssociated": { "attributes": { "annotation": "", "descr": "", "name": "msc-local", "nameAlias": "", "ownerKey": "", "ownerTag": "", "siteId": "1", "userdom": ":all:" } } }, ] }

AP和EPG：

"fvAp": { "attributes": { "annotation": "orchestrator:msc-shadow:no", "descr": "", "name": "APP_Site1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "prio": "unspecified", "userdom": ":all:" }, "children": [ { "fvAEPg": { "attributes": { "annotation": "orchestrator:msc-shadow:no", "descr": "", "exceptionTag": "", "floodOnEncap": "disabled", "fwdCtrl": "", "hasMcastSource": "no", "isAttrBasedEPg": "no", "matchT": "None", "name": "EPG_Site1", "nameAlias": "", "pcEnfPref": "unenforced", "prefGrMemb": "exclude", "prio": "unspecified", "shutdown": "no", "userdom": ":all:" }, "children": [ { "fvSiteAssociated": { "attributes": { "annotation": "", "descr": "", "name": "msc-local", "nameAlias": "", "ownerKey": "", "ownerTag": "", "siteId": "1", "userdom": ":all:" } } }, ] } } ] }

在BD、AP和EPG對象中，沒有fvRemoteId子對象，因為這些對象在本地有意義，並且沒有延伸。

- 在站點2中：

站點2的輸出非常相似，只是更改了相應的遠端對象，因此忽略了此資訊。

取消關聯站點

建議您先在NDO中進行備份，並在APIC中進行快照，然後再執行此過程，以防以後需要回滾此備份。

步驟 1.取消關聯範本中的網站

此步驟需要在每個範本上執行。與循環相依性背後的邏輯類似，需要先從與其他範本有相依性的範本開始，最後取消沒有任何互動參照的範本的關聯。

在本文檔中使用的拓撲中，要取消關聯的最後一個模板必須是Stretch_Site1_Site2，這是因為模板Site1和Site2具有對它的引用。

導航到架構內的模板，點選Actions，然後導航到Disassociate Site：

如何取消關聯模板

在下一個視窗中，從下拉式功能表中選擇「按場地」(site by site)，因為取消關聯會逐一完成（如果範本有2個以上的場地）：

選取要取消關聯範本的網站

然後按一下Disassociate。

完成時，會顯示包含確認訊息：

確認訊息

注意：如前所述，請對綱要上的所有樣板重複此程式。

步驟 2.確認不是由每個APIC上的NDO管理對象

若要確認物件仍存在於APIC中，請立即使用不同的屬性：

在APIC中（例如站點1）：

GUI驗證配置仍然存在。

對象不再在其旁邊顯示雲NDO圖示，只有租戶仍由NDO管理。

在JSON中：

"fvTenant": { "attributes": { "annotation": "orchestrator:msc", "descr": "", "dn": "uni/tn-Tenant1", "name": "Tenant1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "userdom": ":all:" }, "children": [ { "fvCtx": { "attributes": { "annotation": "", "bdEnforcedEnable": "no", "descr": "", "ipDataPlaneLearning": "enabled", "knwMcastAct": "permit", "name": "VRF1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "pcEnfDir": "ingress", "pcEnfPref": "enforced", "userdom": ":all:", "vrfIndex": "0" }, "fvBD": { "attributes": { "OptimizeWanBandwidth": "yes", "annotation": "", "arpFlood": "yes", "descr": "", "epClear": "no", "epMoveDetectMode": "", "hostBasedRouting": "no", "intersiteBumTrafficAllow": "yes", "intersiteL2Stretch": "yes", "ipLearning": "yes", "ipv6McastAllow": "no", "limitIpLearnToSubnets": "yes", "llAddr": "::", "mac": "00:22:BD:F8:19:FF", "mcastARPDrop": "yes", "mcastAllow": "no", "multiDstPktAct": "bd-flood", "name": "BD_Site1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "type": "regular", "unicastRoute": "yes", "unkMacUcastAct": "proxy", "unkMcastAct": "flood", "userdom": ":all:", "v6unkMcastAct": "flood", "vmac": "not-applicable" } ... "fvAp": { "attributes": { "annotation": "", "descr": "", "name": "APP_Site1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "prio": "unspecified", "userdom": ":all:" }, "children": [ { "fvAEPg": { "attributes": { "annotation": "", "descr": "", "exceptionTag": "", "floodOnEncap": "disabled", "fwdCtrl": "", "hasMcastSource": "no", "isAttrBasedEPg": "no", "matchT": "None", "name": "EPG_Site1", "nameAlias": "", "pcEnfPref": "unenforced", "prefGrMemb": "exclude", "prio": "unspecified", "shutdown": "no", "userdom": ":all:" }, } } ] } } ] }

從APIC來看，唯一仍具有批註的對象是租戶對象，但BD、VRF、AP和EPG對象現在已將批註屬性留空。這確認對象未從APIC中刪除，它們現在由每個APIC管理。

步驟 3.移除空白範本

現在，所有模板都是空的，並且未與任何站點關聯：

驗證處於未關聯狀態的模板

可以安全地移除這些範本。要刪除這些屬性，請按一下Actions並選擇Delete Template（如圖所示）：

刪除範本

架構清空後，儲存更改：

儲存空白結構描述上的變更

步驟 4.移除空白架構

現在是移除空白結構描述的時候了。導覽至Configure > Tenant Templates，如下圖所示：

移至租戶選單的步驟

然後按一下架構旁邊的3點，再按一下Delete，如圖所示：

刪除與模板關聯的空架構

步驟 5.取消站點與租戶的關聯

一旦沒有其他架構，租戶必須顯示它不再與任何模板相關聯。要進行確認，請導航到Operate > Tenants：

取消網站與租戶的關聯

確認租戶沒有關聯的模板

可以看到，與Tenant1關聯的模板數為0。按一下下面的3個點，然後選擇Edit：

編輯租戶屬性以刪除站點

現在，需要取消選擇站點。按一下站點表頂部的Unselect items：

取消選擇與租戶關聯的站點

確認之前，請先確認刪除租戶的選項未核取：

確認作業而不進行檢查

如果這兩個站點均未選中，則儲存更改。完成此操作後，請確認每個APIC中的租戶是否位於其中：

IGUI驗證，該租戶仍在配置，但未從NDO進行管理

如預期一樣，現在註釋是空的：

"fvTenant": { "attributes": { "annotation": "", "descr": "", "dn": "uni/tn-Tenant1", "name": "Tenant1", "nameAlias": "", "ownerKey": "", "ownerTag": "", "userdom": ":all:" } }

步驟 6.刪除NDO中的空租戶

現在是移除租戶的時候了。要執行此操作，請導航到Operate > Tenants（這是您尋找快取缺失可以使用的隱藏點），點選三個點，然後點選Delete（如圖所示）：

刪除空租戶

確認並驗證租戶對象是否保留在APIC中。

步驟 7.刪除ND中的NDO應用程式

若要移除NDO，必須先停用應用程式。

在ND中，導航到Admin Console > Services。NDO應用程式會顯示在此。按一下三個點並選擇Disable：

停用NDO應用程式

完全停用此功能可能需要幾分鐘時間。

然後，再按一下3點，這一次按一下選項  Delete .

步驟 8.刪除ND中的NDO應用

最後，從ND刪除站點。為了能夠刪除站點，站點不能佔用任何服務，因此，如果安裝了任何其他應用程式，則需要將其刪除：

驗證站點是否使用NDO服務

若要將其移除，請按一下這3個點，然後選擇Remove Site 如下圖所示：

刪除ND中的站點

站點完全刪除後，每個交換矩陣現在都是獨立的，ND也可以停用。

注意：站點獨立後，基礎設施租戶中的站點間L3out仍然存在。可以手動將其刪除，確保僅用於站點間連線。