品牌名稱
中國民生銀行
企業(yè)規(guī)模
10000人以上

DeepFlow云網(wǎng)分析民生銀行容器網(wǎng)絡(luò)監(jiān)控實(shí)踐。

442次閱讀

DeepFlow云網(wǎng)分析民生銀行容器網(wǎng)絡(luò)監(jiān)控實(shí)踐。

 

、 業(yè)務(wù)大量上云與應(yīng)用架構(gòu)變遷

在過去數(shù)年里,在十三五規(guī)劃指引下,金融行業(yè)通過私有云、行業(yè)云、生態(tài)云的建設(shè)以及大力發(fā)展金融科技的戰(zhàn)略,已經(jīng)成為上云的領(lǐng)航者。目前各金融企業(yè)正在大力建設(shè)基于容器和 K8S的云平臺(tái),用于快速部署或遷移發(fā)展迅猛的生產(chǎn)應(yīng)用。


民生銀行作為國內(nèi)領(lǐng)先的金融企業(yè),在上云的道路上進(jìn)行了廣泛的探索,較早地認(rèn)識(shí)到容器輕量化、標(biāo)準(zhǔn)化、彈性、可移植、高效發(fā)布等好處。目前已建設(shè)了自己的應(yīng)用容器云平臺(tái)并在全面推廣使用中。隨著民生銀行應(yīng)用的容器化,創(chuàng)新類應(yīng)用得以快速上線、快速迭代;傳統(tǒng)的應(yīng)用借助容器加速了 DevOps 和微服務(wù)改造,業(yè)務(wù)在部署和調(diào)度方面的效率得到了大幅提升。但容器的引入再一次擴(kuò)大了云網(wǎng)絡(luò)的邊界和層級(jí),隨之而來的監(jiān)控問題也擺在了桌面上。

 


二、 民生容器云平臺(tái)


容器輕量化、標(biāo)準(zhǔn)化的特性降低了管理的復(fù)雜度,滿足了業(yè)務(wù)大量上云的需求。隨著 Kubernetes 贏得了容器編排之爭,企業(yè)采用容器大多會(huì)選擇 Kubernetes,容器網(wǎng)絡(luò)方面,在 Kubernetes 官網(wǎng)登記的 CNI 已有幾十種。為了解決隔離性和跨節(jié)點(diǎn)的容器通信,Overlay Network 成為眾多企業(yè)建設(shè)容器網(wǎng)絡(luò)方案的首選。


民生銀行容器云平臺(tái)也是基于 Kubernetes 和 Docker 技術(shù)構(gòu)建,容器網(wǎng)絡(luò)采用了 Flannel+Overlay 模式。網(wǎng)絡(luò)部門一直肩負(fù)著業(yè)務(wù)統(tǒng)一管理和發(fā)布的重任,并隨著云計(jì)算和 IT 技術(shù)的發(fā)展建設(shè)了完善的網(wǎng)絡(luò)監(jiān)控平臺(tái)。但容器業(yè)務(wù)的監(jiān)控涉及注入負(fù)載均衡等網(wǎng)絡(luò)設(shè)備、Kubernetes 池內(nèi)的 Service 資源以及 Ingress 資源,并且容器的原始網(wǎng)絡(luò)模型對(duì)多租戶或者說業(yè)務(wù)隔離的體制并不完善,這都為容器業(yè)務(wù)的監(jiān)控帶來了許多新挑戰(zhàn)。

 


三、 云原生的監(jiān)控網(wǎng)絡(luò)


容器環(huán)境中的常見故障一般有三類:應(yīng)用類故障通常表現(xiàn)為應(yīng)用的執(zhí)行狀態(tài)和預(yù)期不符;容器故障通常表現(xiàn)為無法正確的創(chuàng)建、停止或更新容器;集群故障通常表現(xiàn)為不滿足一致性或無法連接。多數(shù)企業(yè)在容器部署及管理方案中,對(duì)系統(tǒng)監(jiān)控報(bào)警多采用 Prometheus、Grafana、Zabbix 等開源工具,但所能獲取的指標(biāo)數(shù)據(jù)和展示維度相對(duì)有限,尤其是當(dāng)容器資源池規(guī)模繼續(xù)擴(kuò)容后,上述工具的擴(kuò)展性和部署問題將難以滿足深入的分析需求。以容器 Host 模式為例,通常每個(gè)節(jié)點(diǎn)運(yùn)行 100~200 個(gè) Pod,獲取每個(gè) Pod 的網(wǎng)絡(luò)流量并結(jié)合全網(wǎng)流量數(shù)據(jù),實(shí)現(xiàn)秒粒度的查詢分析并不容易。

獲取完整的網(wǎng)絡(luò)流量尤其是容器網(wǎng)絡(luò)的流量是保障業(yè)務(wù)上云連續(xù)性和安全性的重要前提。在容器云平臺(tái)中,業(yè)務(wù)與網(wǎng)絡(luò)的結(jié)合更為緊密;在容器云平臺(tái)內(nèi)部,默認(rèn)的網(wǎng)絡(luò)模型在東西向訪問隔離方面缺少必要的安全保障;在微服務(wù)架構(gòu)中,服務(wù)間的網(wǎng)絡(luò)監(jiān)控是業(yè)務(wù)保障中重要部分;在容器網(wǎng)絡(luò)中,POD 間的網(wǎng)絡(luò)流量迫切需要工具手段進(jìn)行監(jiān)控保障。民生銀行構(gòu)建了統(tǒng)一的云網(wǎng)絡(luò)監(jiān)控平臺(tái),具備滿足業(yè)務(wù)上云持續(xù)演進(jìn)的能力,確保業(yè)務(wù)上云后的可視、可管、可控以快速排障。這就要求對(duì)容器業(yè)務(wù)的監(jiān)控能夠識(shí)別到 Pod 粒度,能主動(dòng)感知容器資源的變化監(jiān)控手段也應(yīng)隨之改變。借助開源組件和商業(yè)產(chǎn)品如云杉網(wǎng)絡(luò) DeepFlow®等,民生銀行的監(jiān)控平臺(tái)實(shí)現(xiàn)如下目標(biāo):
1. 安全可控:在容器環(huán)境下,滿足平滑部署且容器業(yè)務(wù)不能間斷,對(duì)計(jì)算資源的消耗可控。
2. 一體化:監(jiān)控能力覆蓋包括容器、KVM、VMware、公有云、裸金屬等異構(gòu)資源池,同時(shí)具備多租戶服務(wù)能力和容器業(yè)務(wù)的端到端診斷能力。
3. 云原生:監(jiān)控平臺(tái)采用分布式架構(gòu),滿足云服務(wù)的彈性、敏捷需求,當(dāng)容器業(yè)務(wù)進(jìn)行跨資源池彈性部署時(shí),監(jiān)控系統(tǒng)可以自動(dòng)跟隨。
4. 開放性:多類分析終端或平臺(tái)對(duì)容器網(wǎng)絡(luò)的流量數(shù)據(jù)有消費(fèi)需求,確保現(xiàn)有的分析工具可以無縫使用。


企業(yè)選擇 Kubernetes 構(gòu)建容器云平平臺(tái)時(shí),一定程度上解決了管理的便利性問題。但在容器網(wǎng)絡(luò)方案中卻面臨著一些不足,尤其是在大規(guī)模場(chǎng)景中,容器的網(wǎng)絡(luò)隔離、地址管理、網(wǎng)絡(luò)性能以及故障診斷方面存在不足。具體到民生銀行的業(yè)務(wù)場(chǎng)景中,云端業(yè)務(wù)的發(fā)布主要借助藍(lán)鯨系統(tǒng),網(wǎng)絡(luò)監(jiān)控依賴統(tǒng)一的網(wǎng)絡(luò)數(shù)據(jù)平臺(tái)——由前端的 TAP 設(shè)備實(shí)現(xiàn)各網(wǎng)絡(luò)和業(yè)務(wù)環(huán)境的全量網(wǎng)絡(luò)數(shù)據(jù)采集,通過流量匯聚設(shè)備進(jìn)行流量預(yù)處理(包括去重、過濾、復(fù)制等),然后分發(fā)到后端網(wǎng)絡(luò)流量分析、安全分析、交易分析等數(shù)據(jù)消費(fèi)工具使用。民生銀行數(shù)據(jù)中心安全和業(yè)務(wù)規(guī)劃為多個(gè)區(qū)域,容器集群部署在多個(gè)區(qū)域。面對(duì)業(yè)務(wù)向私有云和容器環(huán)境過度中虛擬網(wǎng)絡(luò)流量采集的不足,借助云杉網(wǎng)絡(luò)DeepFlow NPB 方案,首先與各區(qū)域的容器資源池進(jìn)行對(duì)接,掌握了容器環(huán)境中的相關(guān)信息,包括集群(Cluster)、節(jié)點(diǎn)(Node)、Pod、服務(wù)(Service)、Ingress 等;根據(jù)容器環(huán)境分別部署對(duì)應(yīng)規(guī)格的采集器,采集器獲取 POD 原始流量,在業(yè)務(wù)梳理過程中標(biāo)定監(jiān)控對(duì)象,并加入相關(guān)的資源組、歸類 IP、功能服務(wù)、鏈路,描述容器業(yè)務(wù)的網(wǎng)絡(luò)訪問路徑,并根據(jù)采集策略為分析工具做流量標(biāo)記、業(yè)務(wù)標(biāo)記,并將標(biāo)記信息同步到 CMDB 供各類分析工具使用。采集器將資源池內(nèi)的流量按業(yè)務(wù)畫像梳理出來的規(guī)則過濾,并分發(fā)到后端各類分析平臺(tái)或設(shè)備,從而實(shí)現(xiàn)容器業(yè)務(wù)端到端的監(jiān)控與診斷。

 

 

四、 云原生監(jiān)控的展望


當(dāng)前,容器云在金融行業(yè)落地還存在許多問題需要解決,例如容器業(yè)務(wù)的安全隔離,容器網(wǎng)絡(luò)與數(shù)據(jù)中心網(wǎng)絡(luò)的統(tǒng)一監(jiān)控等。容器在金融行業(yè)的部署規(guī)模日益增長,未來應(yīng)用微服務(wù)化、容器化將會(huì)是一個(gè)主流技術(shù)方向。通過進(jìn)行針對(duì)性適配和改造,容器在民生銀行的應(yīng)用將逐漸規(guī)模化。但對(duì)容器網(wǎng)絡(luò)的監(jiān)控仍需要精細(xì)化,需要從區(qū)域、節(jié)點(diǎn)、Pod、IP 等多個(gè)維度查詢展示容器業(yè)務(wù),在容器業(yè)務(wù)路徑中實(shí)現(xiàn)分段排查、快速縮小問題范圍、定位異常原因;并為回溯取證提供數(shù)據(jù)支撐。未來,民生銀行將持續(xù)推進(jìn)容器網(wǎng)絡(luò)監(jiān)控方案持續(xù)落地,助力業(yè)務(wù)創(chuàng)新,踐行科技金融戰(zhàn)略。