
今天我們將之前內容進(jìn)行整合并進(jìn)行擴展,仍然用大家熟悉的planespotter的微服務(wù)應用,跨企業(yè)的兩個(gè)數據中心站點(diǎn)分布式部署,通過(guò)VMware合作伙伴F5 BIG-IP DNS實(shí)現全局負載均衡,將不同地域或者不同ISP的用戶(hù)智能引流到不同的數據中心中planespotter的web前端和app服務(wù),而在數據中心內部,采用NSX內置的與PaaS平臺原生集成的4層以及7層負載均衡實(shí)現本地微服務(wù)負載均衡,從而通過(guò)F5 GTM+NSX SLB作為L(cháng)TM實(shí)現企業(yè)微服務(wù)雙活架構。而通過(guò)NSX實(shí)現集中式管理多中心的微服務(wù)的所有網(wǎng)絡(luò ),安全和負載均衡策略,簡(jiǎn)化opex,讓業(yè)務(wù)部門(mén)或者devops流程自動(dòng)化部署微服務(wù)時(shí)全自動(dòng)化交付網(wǎng)絡(luò )服務(wù)。
我們先來(lái)介紹一下今天demo的多中心網(wǎng)絡(luò )邏輯拓撲,如下:

在BJ-DC1中,將planespotter微服務(wù)的web前端部署在之前我們demo過(guò)的環(huán)境bare-metal Openshift cluster中,app和redis部署在開(kāi)源k8s/第三方PaaS中,將mysql部署在vsphere IaaS,ADS-B部署在bare-metal物理服務(wù)器上(大家如果對這個(gè)微服務(wù)不熟悉,可以參考公眾號第一篇文章)。
在BJ-DC2中,將planespotter的web前端和app中間件部署在VMware PKS容器云中。
“雙活微服務(wù)應用跨越不同的CaaS,PaaS,IaaS,bare-metal實(shí)現任意環(huán)境部署,而通過(guò)NSX無(wú)處不在統一管理所有的網(wǎng)絡(luò ),安全及負載均衡策略,在demo中,部署統一的NSX Manager,controller集群,DC部署獨立的Edge DPDK集群,兩個(gè)中心通過(guò)VC實(shí)現統一集中式管理計算集群。在真實(shí)環(huán)境中,用戶(hù)可以選擇統一或者部署獨立VC,統一NSX或者獨立的NSX-T在不同的DC,通過(guò)NSX global policy manager實(shí)現策略一致性部署。
而部署在多中心南北向的web前端的入口,通過(guò)F5 BIG-IP DNS也就是GTM實(shí)現智能DNS流量調度,在本次demo中,通過(guò)不同的request source將client導流至不同DC的NSX 4-7層負載均衡器。
而通過(guò)F5 BIG-IP DNS與NSX SLB可以實(shí)現完美集成,通過(guò)NSX與PaaS平臺集成,實(shí)現全自動(dòng)化負載均衡器配置及部署,同時(shí)將各DC local NSX SLB作為server可以添加到GTM,并將NSX SLB virtual server通過(guò)GTM與link相關(guān)聯(lián)。
接下來(lái)進(jìn)入demo時(shí)間,我們先看一下計算環(huán)境,如下圖:通過(guò)多個(gè)vsphere集群實(shí)現K8S集群,PKS集群資源的跨中心統一調度部署,(注意,demo為了簡(jiǎn)化,并不是按照生產(chǎn)級設計),PKS可以支持AZ,在本demo中,部署在同一個(gè)AZ中。”

接下來(lái)看一下NSX無(wú)處不在的網(wǎng)絡(luò )環(huán)境,通過(guò)NSX統一管理bare-metal Openshit以及bare-metal ADS物理服務(wù)器,如下圖,可以看到一個(gè)兩節點(diǎn)bare-metal Openshift集群,以及物理機Ubuntu-ADSB。

下圖為NSX與vCenter集成,統一管理部署在vSphere IaaS上的K8S及PKS集群:

下圖為BJ-DC1和DC2通過(guò)與各自的PaaS或者CaaS平臺集成,實(shí)現全自動(dòng)化的Geneve邏輯交換機,多租戶(hù)路由器自動(dòng)化部署,此部分在之前的公眾號文章有過(guò)介紹,更為詳細的部分未來(lái)跟大家分享:


接下來(lái)我們看一下,通過(guò)NSX與PaaS集成實(shí)現的全自動(dòng)化SLB自動(dòng)化創(chuàng )建及部署,以及planespotter web前端的負載均衡策略上線(xiàn):

下圖為PaaS集群部署以及微服務(wù)上線(xiàn)時(shí),全自動(dòng)化創(chuàng )建的負載均衡virutal server:

接下來(lái)我們看一下兩個(gè)中心微服務(wù)上線(xiàn)的狀態(tài)
下圖為BJ-DC1,web前端在openshift集群的部署,以及route的配置,

下圖為App及redis在K8S上的部署和配置,

下圖為BJ-DC2,Web和App微服務(wù)的配置和部署狀態(tài):

接下來(lái)我們來(lái)看一下F5 GTM的智能DNS實(shí)現,創(chuàng )建兩個(gè)DC,如下圖,

創(chuàng )建4個(gè)BIG-IP Server,將GTM以及NSX-SLB加入到不同的DC,如下圖,

為planespotter的微服務(wù)應用創(chuàng )建wide ip,如下圖,

將NSX SLB以及virtual server加入到planespotter的wide ip中,如下圖:

設置基于Topology實(shí)現planespotter微服務(wù)的多中心智能DNS負載均衡,如下圖,

創(chuàng )建Topology record,將部署在不同地域的用戶(hù)及客戶(hù)端導流給不同的BJ-DC, 實(shí)現多中心負載均衡策略部署。
接下來(lái),登錄兩臺部署在不同region的windows客戶(hù)機,通過(guò)nslookup查詢(xún)微服務(wù)的域名,我們可以看到,F5 GTM將DNS A記錄返回給不同的DC NSX SLB。如下圖:

我們在兩臺不同region的win客戶(hù)機訪(fǎng)問(wèn)planespotter.f5.vmware.local微服務(wù)域名,發(fā)現通過(guò)BJ-DC1和BJ-DC2的實(shí)現雙活訪(fǎng)問(wèn),如下圖,10.11.28.0/24網(wǎng)段為DC1的Pod網(wǎng)段,10.88.4.0/24為DC2的Pod網(wǎng)段,

通過(guò)F5 GTM與NSX SLB集成,可實(shí)現在GTM按照用戶(hù)需要將流量切換至不同DC的不同ISP運營(yíng)商,如下圖,我們將DC1的微服務(wù)前端流量均切換至DC2:

我們看到Region1的客戶(hù)端的nslookup請求被GTM redirect到了DC2的NSX SLB,如下圖:

我們可以看到Region-a的客戶(hù)端仍然可以訪(fǎng)問(wèn)planespotter的微服務(wù),但是訪(fǎng)問(wèn)的是BJ-DC2的web前端,與Region-b的客戶(hù)端一致,如下圖:

應用已經(jīng)完美多活上線(xiàn),更為重要的是,如何secure多中心微服務(wù),如果統一策略的部署?通過(guò)NSX無(wú)處不在可實(shí)現整個(gè)planespotter跨中心微服務(wù)組件之間以及南北向的安全均由NSX安全微分段實(shí)現完善的保護,統一安全策略的部署,如下圖:

總結,通過(guò)VMware的SDDC以及NSX實(shí)現多中心微服務(wù)計算,存儲和網(wǎng)絡(luò )全自動(dòng)化部署,通過(guò)NSX無(wú)處不在實(shí)現統一安全及微服務(wù)負載均衡自動(dòng)化,通過(guò)VMware合作伙伴F5 Networks實(shí)現多中心智能DNS及流量調度,為用戶(hù)交付真正的微服務(wù)多中心多活解決方案。