簡介
本文檔介紹將站點與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個範本相關聯:
驗證與租戶的模板關聯
驗證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
要確認對象已正確部署,請執行以下操作:
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
說明此資訊後,子物件為:
- fvSiteAssociated:顯示本地站點的站點ID。
- 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的輸出非常相似,只是更改了相應的遠端對象,因此忽略了此資訊。
取消關聯站點
建議您先在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仍然存在。可以手動將其刪除,確保僅用於站點間連線。