通過(guò)負(fù)載均衡架構(gòu)實(shí)現(xiàn)統(tǒng)一發(fā)布容器業(yè)務(wù)_第1頁(yè)
通過(guò)負(fù)載均衡架構(gòu)實(shí)現(xiàn)統(tǒng)一發(fā)布容器業(yè)務(wù)_第2頁(yè)
通過(guò)負(fù)載均衡架構(gòu)實(shí)現(xiàn)統(tǒng)一發(fā)布容器業(yè)務(wù)_第3頁(yè)
通過(guò)負(fù)載均衡架構(gòu)實(shí)現(xiàn)統(tǒng)一發(fā)布容器業(yè)務(wù)_第4頁(yè)
通過(guò)負(fù)載均衡架構(gòu)實(shí)現(xiàn)統(tǒng)一發(fā)布容器業(yè)務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

通過(guò)負(fù)載均衡架構(gòu)實(shí)現(xiàn)統(tǒng)一發(fā)布容器業(yè)務(wù)

【摘要】目前金融行業(yè)正在大力建設(shè)基于容器和K8S為底層技術(shù)架構(gòu)的PaaS云平臺(tái),用于快速部署各種各樣的生產(chǎn)應(yīng)用。傳統(tǒng)應(yīng)用使用負(fù)載均衡設(shè)備實(shí)現(xiàn)業(yè)務(wù)統(tǒng)一入口和同城容災(zāi),如何在K8S上實(shí)現(xiàn)同樣的目標(biāo),同時(shí)保持架構(gòu)的穩(wěn)定和高效,是目前金融行業(yè)最新的關(guān)注點(diǎn)。本篇文章圍繞這一主題,結(jié)合民生銀行容器業(yè)務(wù)發(fā)布架構(gòu)的探索與實(shí)踐,給大家分享一些經(jīng)驗(yàn)。一、前言近期,業(yè)界首例通過(guò)負(fù)載均衡統(tǒng)一發(fā)布容器業(yè)務(wù)的架構(gòu)在民生銀行測(cè)試網(wǎng)上線,解決了在標(biāo)準(zhǔn)K8S業(yè)務(wù)發(fā)布方式中遇到的一系列運(yùn)維難題,使用創(chuàng)新性的架構(gòu)實(shí)現(xiàn)了傳統(tǒng)環(huán)境與容器環(huán)境業(yè)務(wù)發(fā)布管理上的統(tǒng)一性,包括功能統(tǒng)一、變更統(tǒng)一、運(yùn)維統(tǒng)一,同時(shí)提升容器業(yè)務(wù)發(fā)布架構(gòu)整體的性能和效率。在軟件定義一切的指導(dǎo)思想下,過(guò)去幾年間,金融行業(yè)通過(guò)私有云、行業(yè)云、生態(tài)云等的建設(shè),基本上具備了IaaS云的服務(wù)能力,目前金融行業(yè)正在大力建設(shè)基于容器和K8S為底層技術(shù)架構(gòu)的PaaS云平臺(tái),用于快速部署各種各樣的生產(chǎn)應(yīng)用。傳統(tǒng)應(yīng)用使用負(fù)載均衡設(shè)備實(shí)現(xiàn)業(yè)務(wù)統(tǒng)一入口和同城容災(zāi),如何在K8S上實(shí)現(xiàn)同樣的目標(biāo),同時(shí)保持架構(gòu)的穩(wěn)定和高效,是目前金融行業(yè)最新的關(guān)注點(diǎn)。本篇文章圍繞這一主題,結(jié)合民生銀行容器業(yè)務(wù)發(fā)布架構(gòu)的探索與實(shí)踐,給大家分享一些經(jīng)驗(yàn)。二、標(biāo)準(zhǔn)容器業(yè)務(wù)發(fā)布方式面臨的挑戰(zhàn)1、Nodeport

和Ingress通常來(lái)說(shuō),K8S通過(guò)Nodeport類型的Service資源和Ingress資源控制著外部請(qǐng)求訪問(wèn)K8S內(nèi)的容器業(yè)務(wù),這是容器業(yè)務(wù)發(fā)布的標(biāo)準(zhǔn)方式,也是大多數(shù)金融行業(yè)所采用的發(fā)布方式。一個(gè)容器業(yè)務(wù)發(fā)布相關(guān)的組件及流程如下圖所示:圖-1:容器應(yīng)用標(biāo)準(zhǔn)發(fā)布方式Service是K8S的標(biāo)準(zhǔn)對(duì)象資源,容器應(yīng)用通過(guò)該資源實(shí)現(xiàn)入訪能力,通常底層技術(shù)由iptables或ipvs實(shí)現(xiàn),NodePort類型的Service可以提供固定的IP地址和端口用于外部請(qǐng)求訪問(wèn)。

IngressResources是K8S的標(biāo)準(zhǔn)對(duì)象資源,一個(gè)Ingress資源中可定義多條規(guī)則,每一條規(guī)則通常關(guān)聯(lián)一個(gè)域名,外部請(qǐng)求通過(guò)該域名可訪問(wèn)該規(guī)則下所有容器應(yīng)用,一條規(guī)則內(nèi)也可定義多個(gè)Path,每一個(gè)path對(duì)應(yīng)一個(gè)容器應(yīng)用,這樣實(shí)現(xiàn)一個(gè)Ingress關(guān)聯(lián)多個(gè)容器應(yīng)用。IngressController即入口控制器,通常是一種容器化的代理服務(wù)器應(yīng)用,用于提供http類業(yè)務(wù)的轉(zhuǎn)發(fā),通過(guò)service對(duì)外提供服務(wù)。Ingresscontroller的主要工作是將Ingress資源中定義的訪問(wèn)規(guī)則轉(zhuǎn)換成其實(shí)際配置,并基于K8SAPI對(duì)容器的變化實(shí)時(shí)感知從而完成配置項(xiàng)的更新,同時(shí)負(fù)責(zé)相關(guān)流量的轉(zhuǎn)發(fā)。

LoadBalancer既負(fù)載均衡器在數(shù)據(jù)平面將外部請(qǐng)求轉(zhuǎn)發(fā)給Service提供的IP地址和端口,一般掛載多個(gè)Node用于容災(zāi)和流量負(fù)載分擔(dān)。外部請(qǐng)求一般訪問(wèn)容器應(yīng)用的有兩種路徑,如下所示:NodePort發(fā)送訪問(wèn)請(qǐng)求到負(fù)載均衡負(fù)載均衡基于負(fù)載算法將請(qǐng)求發(fā)送到Node節(jié)上的特定端口,即容器應(yīng)用通過(guò)NodePortService發(fā)布的IP和端口

Node節(jié)點(diǎn)根據(jù)Service資源中定義的端口與容器應(yīng)用的對(duì)應(yīng)關(guān)系,確定目標(biāo)容器應(yīng)用,通過(guò)iptable轉(zhuǎn)發(fā)規(guī)則完成實(shí)際流量轉(zhuǎn)發(fā)Ingress發(fā)送訪問(wèn)請(qǐng)求到負(fù)載均衡負(fù)載均衡基于負(fù)載算法將請(qǐng)求發(fā)送到Node節(jié)上的特定端口,即Ingresscontroller通過(guò)NodePortService發(fā)布的IP和端口Node節(jié)點(diǎn)根據(jù)Service資源中定義的端口與容器應(yīng)用的對(duì)應(yīng)關(guān)系,確定目標(biāo)容器應(yīng)用為Ingresscontroller,通過(guò)iptable轉(zhuǎn)發(fā)規(guī)則完成實(shí)際流量轉(zhuǎn)發(fā)

Ingresscontroller根據(jù)Ingress資源中定義的轉(zhuǎn)發(fā)規(guī)則,把相關(guān)流量轉(zhuǎn)發(fā)給業(yè)務(wù)應(yīng)用容器外部請(qǐng)求訪問(wèn)容器應(yīng)用的兩種方式中,Ingress相比于NodePort多了一層轉(zhuǎn)發(fā)邏輯,為何要使用這種復(fù)雜的方式那?這主要是因?yàn)镹odePort本質(zhì)上是基于iptable技術(shù)實(shí)現(xiàn)的,只有四層負(fù)載均衡能力,而Ingress具備七層負(fù)載均衡能力,一些高級(jí)功能如cookie會(huì)話保持,源地址透?jìng)?,http路徑轉(zhuǎn)發(fā)等只能在Ingress上實(shí)現(xiàn)。2、主流的Ingresscontroller通過(guò)上面的內(nèi)容可以看出,IngressController在容器業(yè)務(wù)發(fā)布中主要扮演著重要角色,是大部分容器業(yè)務(wù)交付的實(shí)際控制者,這種情況下IngressController的技術(shù)選擇就極為關(guān)鍵,我們來(lái)看一下市場(chǎng)上主流的IngressController都有哪些。圖-2:ingresscontroller下載量對(duì)比(數(shù)據(jù)來(lái)自dockerhub)根據(jù)dockerhub()上IngressController鏡像下載量統(tǒng)計(jì),目前整個(gè)容器入口控制中最受歡迎的實(shí)現(xiàn)是Nginx和F5,兩者都有超過(guò)1000萬(wàn)的下載量,兩者下載量排名都是其它入口控制器下載量的數(shù)倍。其中Nginx的實(shí)現(xiàn)以開(kāi)源軟件Nginx為主,F(xiàn)5公司在2019年收購(gòu)Nginx后推出了基于Nginx加強(qiáng)版(NginxPlus)的容器入口控制器,相比較開(kāi)源版,NginxPlus容器入口控制器在圖形化監(jiān)控、容器安全和及商業(yè)化支持方面進(jìn)行了加強(qiáng)。而F5的f5networks/k8s-bigip-ctlr主要依附于F5在應(yīng)用交付控制領(lǐng)域的積累,通過(guò)部署bigip-ctlr容器使F5設(shè)備能夠直接為容器應(yīng)用提供負(fù)載均衡能力,這種實(shí)現(xiàn)最顯著的特點(diǎn)是功能全面、高性能。分析圖-2中排名前10的容器IngressController的實(shí)現(xiàn),會(huì)發(fā)現(xiàn)大多數(shù)入口控制器的實(shí)現(xiàn)都是基于開(kāi)源Nginx或HAProxy,這也與金融行業(yè)IngressController的實(shí)際情況一致。目前金融行業(yè)在容器入口控制技術(shù)路線上選擇主要以開(kāi)源技術(shù)為主,最具代表性的是開(kāi)源Nginx和HAProxy。Nginx占大多數(shù),幾乎所有金融行業(yè)都有在基于Nginx進(jìn)行容器業(yè)務(wù)交付控制,也有一些國(guó)有大行或股份制銀行使用HAProxy的技術(shù)路線。3、民生銀行原有Nodeport和Ingress業(yè)務(wù)發(fā)布架構(gòu)經(jīng)過(guò)近2年的容器云建設(shè),容器云在我行數(shù)據(jù)中心測(cè)試環(huán)境和生產(chǎn)環(huán)境已經(jīng)成為新業(yè)務(wù)上線的主要承載平臺(tái)。而具體到容器業(yè)務(wù)發(fā)布的方式,民生銀行在結(jié)合了同業(yè)部署、容災(zāi)以及高可用等多種因素,使用如下架構(gòu)完成容器業(yè)務(wù)的發(fā)布。圖-3:容器業(yè)務(wù)發(fā)布原有架構(gòu)同城雙中心機(jī)房獨(dú)立部署容器集群需要同城容災(zāi)部署的容器應(yīng)用在兩個(gè)容器集群完成部署同一容器集群內(nèi)的業(yè)務(wù)通過(guò)NodePort和Ingress完成業(yè)務(wù)對(duì)外發(fā)布

N+M架構(gòu)的F5集群掛載兩個(gè)集群特定的Node完成跨容器集群業(yè)務(wù)的統(tǒng)一對(duì)外發(fā)布這一架構(gòu)在標(biāo)準(zhǔn)的容器業(yè)務(wù)發(fā)布方案上對(duì)同城容災(zāi)和不間斷服務(wù)的需求進(jìn)行了優(yōu)化,使用F5集群實(shí)現(xiàn)業(yè)務(wù)的統(tǒng)一IP+端口對(duì)外發(fā)布,掛載不同集群的Node讓流量分擔(dān)到多個(gè)Node上實(shí)現(xiàn)了流量的負(fù)載和跨集群容災(zāi),減少單Node的轉(zhuǎn)發(fā)壓力。使用主流的開(kāi)源的NginxIngressController,實(shí)現(xiàn)7層的業(yè)務(wù)負(fù)載均衡,每種業(yè)務(wù)使用不同的namespace進(jìn)行隔離,包括NodePort、Ingress和IngressController。4、標(biāo)準(zhǔn)架構(gòu)帶來(lái)的運(yùn)維難題雖然基于nodeport和ingress的業(yè)務(wù)發(fā)布方式基本能夠滿足大部分場(chǎng)景,但在銀行數(shù)據(jù)中心應(yīng)用容器化改造的大場(chǎng)景下,隨著容器平臺(tái)承載的業(yè)務(wù)數(shù)量越來(lái)越多、業(yè)務(wù)的重要性越高、以及K8S集群的數(shù)量越來(lái)越多,原有容器業(yè)務(wù)發(fā)布架構(gòu)存在諸多不便的地方,限制了容器的優(yōu)勢(shì)和推廣使用。從運(yùn)維管理和使用的角度來(lái)看,面臨如下挑戰(zhàn):功能受限基于IP訪問(wèn)的http類業(yè)務(wù)在我行廣泛應(yīng)用,這類業(yè)務(wù)如需實(shí)現(xiàn)cookie會(huì)話保持或者源地址透?jìng)鞯?層功能,在標(biāo)準(zhǔn)架構(gòu)下均需要使用Ingress實(shí)現(xiàn),而Ingress必須通過(guò)域名的方式進(jìn)行訪問(wèn),在應(yīng)用沒(méi)有完成DNS改造前無(wú)法實(shí)現(xiàn)會(huì)話保持需求。同樣Nodeport和Ingress缺少一些專業(yè)負(fù)載均衡的功能,如高級(jí)負(fù)載均衡算法、自定義會(huì)話超時(shí)時(shí)間等等,傳統(tǒng)應(yīng)用在容器化改造過(guò)程中必須完成相應(yīng)邏輯整改后才能完成上線。性能平庸受限于Nodeport和Ingress的底層實(shí)現(xiàn)機(jī)制,以及流量繞行無(wú)法直達(dá)業(yè)務(wù)POD,業(yè)務(wù)吞吐、TPS、RPS的性能遠(yuǎn)低于傳統(tǒng)非容器業(yè)務(wù)發(fā)布方式,訪問(wèn)量大的業(yè)務(wù)面臨轉(zhuǎn)發(fā)性能問(wèn)題。變更管理難度大傳統(tǒng)業(yè)務(wù)對(duì)外發(fā)布通常由網(wǎng)絡(luò)部門統(tǒng)一管理,容器業(yè)務(wù)發(fā)布所需的配置分散在F5設(shè)備、K8S內(nèi)的Service資源以及Ingress資源中,并且K8S中不同namespace的資源往往是租戶管理員自行管理,應(yīng)用發(fā)布往往需要跨越網(wǎng)絡(luò)、云平臺(tái)、應(yīng)用三個(gè)部門協(xié)同處理,溝通成本較高,配置管理難度較大。運(yùn)維監(jiān)控難度高因Nodeport和Ingress的實(shí)現(xiàn)機(jī)制,業(yè)務(wù)流量無(wú)法直達(dá)業(yè)務(wù)Pod,會(huì)在Node之間繞行,造成帶寬浪費(fèi)和性能下降的問(wèn)題,不利于網(wǎng)絡(luò)流量分析。同時(shí),流量需要穿越F5,Iptable,Nginxingress等多個(gè)組件,故障點(diǎn)較多且無(wú)法使用現(xiàn)有手段對(duì)所有組件實(shí)現(xiàn)運(yùn)維監(jiān)控。三、通過(guò)負(fù)載均衡架構(gòu)統(tǒng)一發(fā)布容器業(yè)務(wù)1、CIS和AS3圖-4:F5CIS控制平面與數(shù)據(jù)平面CIS是一款由F5公司提供的容器入口控制產(chǎn)品,提供商業(yè)的支持和維護(hù)。如上圖所示,與其它IngressController相比,CIS只做控制平面的工作,它同樣容器化部署在K8S集群內(nèi),監(jiān)控容器內(nèi)的Configmaps和Ingress等資源實(shí)現(xiàn)配置下發(fā),將Configmaps和Ingress中定義的內(nèi)容轉(zhuǎn)換成F5虛擬服務(wù)配置,然后調(diào)用管理API將F5虛擬服務(wù)配置推送至F5硬件或虛擬化F5VE。數(shù)據(jù)平面,容器入口流量經(jīng)F5直達(dá)容器應(yīng)用POD。CIS有三種運(yùn)行模式,監(jiān)控的資源對(duì)象和支持的功能對(duì)比詳見(jiàn)表-1所示:在Ingress模式下,CIS的使用方式與其它IngressController沒(méi)有任何區(qū)別,它監(jiān)控標(biāo)準(zhǔn)的Ingress資源,將對(duì)應(yīng)的規(guī)則轉(zhuǎn)換成F5虛擬服務(wù)的配置推送給F5設(shè)備;cccl和AS3模式是CIS獨(dú)有的功能,它監(jiān)控的是configmap對(duì)象,cccl主要的優(yōu)勢(shì)是下發(fā)性能,但不支持服務(wù)動(dòng)態(tài)發(fā)現(xiàn),不支持高級(jí)負(fù)載均衡特性;AS3最大的優(yōu)勢(shì)就是功能全面,幾乎F5所有應(yīng)用交付控制的功能都可以在容器應(yīng)用交付中使用,而且支持服務(wù)動(dòng)態(tài)發(fā)現(xiàn),在Configmaps完成了虛擬服務(wù)的配置后,只需要在對(duì)應(yīng)要發(fā)布的容器業(yè)務(wù)服務(wù)中添加幾個(gè)標(biāo)簽,即可完成容器服務(wù)的虛擬發(fā)布,例如表-2:經(jīng)過(guò)詳細(xì)的調(diào)研和測(cè)試,AS3模式的CIS可以實(shí)現(xiàn)Nodeport和Ingress的所有功能,CIS容器與F5設(shè)備之間的交互都是基于AS3接口,AS3接口傳遞的參數(shù)是JSON對(duì)象,該對(duì)象中包括容器業(yè)務(wù)發(fā)布所關(guān)聯(lián)的所有配置項(xiàng),包括高級(jí)負(fù)載均衡配置,TLS加密配置,高級(jí)健康檢測(cè)配置等。每個(gè)CIS容器支持對(duì)接一個(gè)F5設(shè)備,當(dāng)CIS容器性能不足時(shí)可以橫向擴(kuò)容CIS容器數(shù)量,通過(guò)監(jiān)聽(tīng)不同的Configmaps資源發(fā)布不同的容器應(yīng)用實(shí)現(xiàn)負(fù)載,多個(gè)CIS容器可以對(duì)接同一個(gè)VE,也可以對(duì)接不同的VE。2、新架構(gòu)下性能大幅提升為了更好的了解新架構(gòu)的性能,在這一階段進(jìn)行了性能對(duì)比評(píng)測(cè),主要對(duì)比我行原有NodePort+NginxIngress架構(gòu)和F5+CIS架構(gòu)的業(yè)務(wù)轉(zhuǎn)發(fā)性能。性能對(duì)比基于同一個(gè)測(cè)試應(yīng)用,分別通過(guò)新老架構(gòu)進(jìn)行容器業(yè)務(wù)發(fā)布,測(cè)試基于同一請(qǐng)求,請(qǐng)求返回結(jié)果約0.25KB,測(cè)試對(duì)比的維度包括RTS(每秒鐘完成的請(qǐng)求總數(shù))、TPS(每秒鐘完成的事務(wù)總數(shù))以及吞吐量,測(cè)試結(jié)果如下圖-6所示。圖-5:性能對(duì)比評(píng)測(cè)從圖中性能對(duì)比結(jié)果可以看出,同一個(gè)容器應(yīng)用,F(xiàn)5+CIS架構(gòu)的性能明顯高于NodePort+NginxIngress架構(gòu),RPS指標(biāo)新架構(gòu)性能是老架構(gòu)性能的4倍;吞吐量對(duì)比新架構(gòu)性能是老架構(gòu)性能的4倍;而TPS指標(biāo)主要受限于容器應(yīng)用的處理能力,在同等條件下,該指標(biāo)新架構(gòu)性能是老架構(gòu)性能的2倍。3、民生銀行使用F5和AS3CIS實(shí)現(xiàn)容器業(yè)務(wù)發(fā)布針對(duì)原有容器業(yè)務(wù)發(fā)布架構(gòu)存在問(wèn)題,我們對(duì)不同的容器業(yè)務(wù)發(fā)布方案進(jìn)行了調(diào)研和測(cè)試,最終我們選取了雙層F5和AS3CIS作為容器業(yè)務(wù)統(tǒng)一發(fā)布架構(gòu),目前該架構(gòu)已在測(cè)試環(huán)境上線,架構(gòu)如圖所示:圖-6:容器業(yè)務(wù)統(tǒng)一發(fā)布新架構(gòu)同城雙中心機(jī)房獨(dú)立部署容器集群同城容災(zāi)部署的容器應(yīng)用在兩個(gè)容器集群部署容器業(yè)務(wù)發(fā)布使用K8S的Configmaps資源實(shí)現(xiàn)配置管理,通過(guò)K8S集群內(nèi)部署的F5CIS容器實(shí)現(xiàn)對(duì)F5VE的管理和動(dòng)態(tài)配置推送第二層F5VE設(shè)備通過(guò)CIS容器管理,動(dòng)態(tài)掛載實(shí)際業(yè)務(wù)POD實(shí)現(xiàn)容器業(yè)務(wù)對(duì)外直接發(fā)布

第一層F5物理設(shè)備通過(guò)掛載兩個(gè)集群對(duì)應(yīng)的F5VE設(shè)備實(shí)現(xiàn)跨容器集群業(yè)務(wù)的統(tǒng)一對(duì)外發(fā)布容器業(yè)務(wù)統(tǒng)一發(fā)布架構(gòu)中的第一層為F5N+M集群,提供K8S雙中心集群服務(wù)的總?cè)肟?,這一層部署的F5是硬件設(shè)備,具有出色的性能、硬件的優(yōu)勢(shì)、標(biāo)準(zhǔn)化成熟的落地方案,同時(shí)對(duì)第二層的F5做負(fù)載分發(fā)。第二層選用的是虛擬化的F5VE設(shè)備,F(xiàn)5VE通過(guò)VMware虛機(jī)的方式部署,與單個(gè)K8S集群綁定,一組主備F5VE只負(fù)責(zé)單個(gè)K8S集群中的容器應(yīng)用發(fā)布。AS3模式的CIS容器部署在K8S集群內(nèi),作為F5VE的控制器,CIS容器通過(guò)對(duì)K8S集群內(nèi)Configmap資源進(jìn)行監(jiān)控,將Configmap資源中的內(nèi)容轉(zhuǎn)化為F5的配置,將配置推送給F5VE,CIS容器還通過(guò)K8S標(biāo)準(zhǔn)的API接口完成業(yè)務(wù)發(fā)現(xiàn)和實(shí)時(shí)監(jiān)聽(tīng)集群內(nèi)Pod的變化,一旦Pod發(fā)生變化,相應(yīng)的更新會(huì)及時(shí)推送給VE,并完成更新。網(wǎng)絡(luò)自動(dòng)化系統(tǒng)將需求轉(zhuǎn)換為第一層F5的配置和Configmaps資源配置,通過(guò)API接口實(shí)現(xiàn)第一層F5配置的自動(dòng)下發(fā)以及K8S集群內(nèi)Configmaps資源的更新,CIS通過(guò)監(jiān)聽(tīng)Configmaps的資源變化完成第二層F5VE配置的更新,從而完成容器業(yè)務(wù)統(tǒng)一發(fā)布的自動(dòng)化。4、場(chǎng)景舉例:基于IP的雙中心會(huì)話保持業(yè)務(wù)發(fā)布我們通過(guò)一個(gè)容器應(yīng)用的發(fā)布場(chǎng)景來(lái)說(shuō)明這個(gè)架構(gòu)是如何的工作的,這個(gè)應(yīng)用通過(guò)IP地址訪問(wèn)需要cookie會(huì)話保持同時(shí)需要雙中心容災(zāi)。假定業(yè)務(wù)應(yīng)用名稱為app,有兩個(gè)K8S集群名稱為A和B,集群A對(duì)應(yīng)的VE設(shè)備的VS地址段為/24,集群B對(duì)應(yīng)的VE設(shè)備的VS地址段為/24,第一層F5硬件設(shè)備的VS地址段為/24,app業(yè)務(wù)發(fā)布過(guò)程如下:圖-7:雙層架構(gòu)下容器業(yè)務(wù)發(fā)布為滿足雙中心容災(zāi),將app部署到A,B兩個(gè)K8S集群,同時(shí)給service打特定標(biāo)簽。在集群A上更新configmap內(nèi)容,給app應(yīng)用配置如高級(jí)負(fù)載均衡,cookie會(huì)話保持、負(fù)載算法后等相關(guān)功能,分配的IP為0:80。集群A中CIS容器監(jiān)聽(tīng)到confgmap的更新內(nèi)容后,通過(guò)service標(biāo)簽實(shí)現(xiàn)應(yīng)用發(fā)布關(guān)聯(lián),向第二層VE設(shè)備推送配置,完成業(yè)務(wù)發(fā)布。在集群B上的有類似步驟,同樣將app發(fā)布到其對(duì)應(yīng)的VE上,分配的IP為0:80。在一層F5上創(chuàng)建虛擬服務(wù)并保持啟用的功能與configmap中一致,分配IP為0:80,對(duì)應(yīng)的PoolMember為第二層VE設(shè)備的虛擬服務(wù)IP,既為0:80和0:80。

當(dāng)請(qǐng)求訪問(wèn)0時(shí),經(jīng)過(guò)一層F5時(shí)會(huì)根據(jù)相關(guān)算法和會(huì)話保持邏輯將請(qǐng)求轉(zhuǎn)發(fā)給第二層VE,經(jīng)過(guò)第二層VE時(shí)同樣根據(jù)相關(guān)算法和會(huì)話保持邏輯將請(qǐng)求轉(zhuǎn)發(fā)給實(shí)際業(yè)務(wù)的POD。5、運(yùn)維難題迎刃而解新的容器業(yè)務(wù)發(fā)布架構(gòu)在功能上除了提供標(biāo)準(zhǔn)NodePort+Ingress架構(gòu)支持的所有功能外,還解決了目前我行在業(yè)務(wù)發(fā)布方面遇到的問(wèn)題,具體包括:功能全面新架構(gòu)中的負(fù)載均衡功能通過(guò)專業(yè)設(shè)備實(shí)現(xiàn),功能全面,7層功能不再依賴Ingress和域名,業(yè)務(wù)無(wú)需改造,助力推廣應(yīng)用容器化。

性能強(qiáng)大采用專業(yè)負(fù)載均衡設(shè)備,流量直達(dá)業(yè)務(wù)Pod,業(yè)務(wù)吞吐、TPS、RPS的能力大大提升,支持高吞吐業(yè)務(wù)系統(tǒng)上線容器平臺(tái)。

變更管理簡(jiǎn)便業(yè)務(wù)發(fā)布使用統(tǒng)一方式配置,而不用NodePort和Ingress混合配置,配置集中在獨(dú)立Namespace的Configmaps資源上,支持跨Namespace進(jìn)行業(yè)務(wù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論