• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Kubernetes的PaaS平臺(tái)研究與實(shí)踐

      2018-08-03 06:47:02宗序梅任彥輝
      江蘇通信 2018年2期
      關(guān)鍵詞:網(wǎng)關(guān)容器組件

      宗序梅 任彥輝

      中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司

      1 引言

      江蘇移動(dòng)公司業(yè)務(wù)云資源池主要為自有業(yè)務(wù)提供基于計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)的IaaS層資源,承載了和娛樂、車衛(wèi)士、和教育、視頻能力等眾多的業(yè)務(wù)平臺(tái),快速響應(yīng)了公司的業(yè)務(wù)發(fā)展。由于業(yè)務(wù)系統(tǒng)多采用的是傳統(tǒng)單體式應(yīng)用,組件眾多、布署耗時(shí)久、擴(kuò)容周期長(zhǎng),無法靈活應(yīng)對(duì)突發(fā)的業(yè)務(wù)訪問;同時(shí)基于虛擬化的云資源難以有效動(dòng)態(tài)調(diào)整,無法做到彈性擴(kuò)展,云資源池的利用率也無法有效提升。

      和教育業(yè)務(wù)通過傳統(tǒng)的虛擬機(jī)承載相關(guān)的應(yīng)用模塊,云平臺(tái)提供基礎(chǔ)的IaaS層資源。隨著代碼量的增長(zhǎng),每次更新代碼,必須進(jìn)行全面檢查以便確定對(duì)其他服務(wù)無影響,開發(fā)效率較低;業(yè)務(wù)在高峰期需緊急申請(qǐng)主機(jī)布署業(yè)務(wù),配置網(wǎng)絡(luò)策略,流程較長(zhǎng)。因此計(jì)劃通過對(duì)業(yè)務(wù)微服務(wù)化改造,降低應(yīng)用耦合性,減少開發(fā)更新時(shí)間;同時(shí)結(jié)合容器平臺(tái)的功能,保障業(yè)務(wù)輕松擴(kuò)容。

      2 PaaS技術(shù)說明及架構(gòu)

      2.1 技術(shù)說明

      基于容器的PaaS平臺(tái)為整個(gè)數(shù)據(jù)中心提供分布式調(diào)度與資源協(xié)調(diào)功能,實(shí)現(xiàn)數(shù)據(jù)中心級(jí)彈性伸縮能力的軟件堆棧,它將所有數(shù)據(jù)中心的資源當(dāng)做一臺(tái)計(jì)算機(jī)來調(diào)度和管理。

      Kubernetes(k8s)是Google開源的容器集群管理系統(tǒng),是一個(gè)基于容器技術(shù)構(gòu)建的數(shù)據(jù)中心操作系統(tǒng)的解決方案。在Docker技術(shù)的基礎(chǔ)上,為容器化的應(yīng)用提供部署運(yùn)行、資源調(diào)度、服務(wù)發(fā)現(xiàn)和動(dòng)態(tài)伸縮等一系列完整功能,提高了大規(guī)模容器集群管理的便捷性。

      2.2 系統(tǒng)架構(gòu)

      江蘇移動(dòng)公司在業(yè)務(wù)云資源池進(jìn)行PaaS的探索研究,基于Kubernetes開源軟件在資源池改造6臺(tái)物理機(jī),部署容器PaaS平臺(tái)。管理節(jié)點(diǎn)、負(fù)載均衡節(jié)點(diǎn)、鏡像倉庫節(jié)點(diǎn)、日志告警節(jié)點(diǎn)和業(yè)務(wù)節(jié)點(diǎn)分散部署。

      圖1 容器平臺(tái)架構(gòu)圖

      master節(jié)點(diǎn):主要由 apiserver、controller-manager、schduler等組成。

      apiserver:作為kubernetes系統(tǒng)的入口,封裝了核心對(duì)象的增刪改查操作,以RESTFul接口方式提供給外部客戶和內(nèi)部組件使用。

      controller-manager:負(fù)責(zé)執(zhí)行各種控制器。

      schduler:負(fù)責(zé)集群的資源調(diào)度,為新建的pod(由一組緊耦合的容器組成的容器組)分配資源。

      minion節(jié)點(diǎn)∶主要由kubelet、kube-proxy等組成。

      kubelet:負(fù)責(zé)管控docker容器,如啟動(dòng)、停止、監(jiān)控運(yùn)行狀態(tài)等。它定期從etcd獲取分配到本機(jī)的pods,并根據(jù)pod信息啟動(dòng)或停止相應(yīng)的容器。同時(shí),接收apiserver的http請(qǐng)求,匯報(bào)pods的運(yùn)行狀態(tài)。

      proxy:負(fù)責(zé)為pod提供代理。定期從etcd中獲取所有的services,并根據(jù)service信息創(chuàng)建代理。當(dāng)某個(gè)客戶pod要訪問其它pod時(shí),訪問請(qǐng)求會(huì)經(jīng)過本機(jī)proxy做轉(zhuǎn)發(fā)。

      2.3 功能架構(gòu)

      PaaS平臺(tái)由管理域和業(yè)務(wù)域兩部分組成。

      管理域:管理模塊完全分布式微服務(wù)化,基于Kubernetes管理各個(gè)模塊,使得平臺(tái)模塊可以獨(dú)立升級(jí)和運(yùn)維,對(duì)模塊實(shí)現(xiàn)灰度發(fā)布、版本快速迭代。同時(shí)具有容錯(cuò)、自動(dòng)負(fù)載均衡和擴(kuò)縮容等功能。

      業(yè)務(wù)域:業(yè)務(wù)運(yùn)行的節(jié)點(diǎn),提供業(yè)務(wù)平臺(tái)運(yùn)行環(huán)境和訪問途徑。業(yè)務(wù)域可以有多個(gè)集群,每個(gè)集群是完整的、獨(dú)立的一套Kubernetes集群。Kubernetes集群部署在物理機(jī)資源上,由PaaS統(tǒng)一管理,并提供裸計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)等資源。

      圖2 容器平臺(tái)功能圖

      平臺(tái)功能由七大功能模塊組成,分別是PaaS平臺(tái)應(yīng)用管理、日志管理、監(jiān)控告警、資源管理、鏡像倉庫、服務(wù)管理域管理,主要面向平臺(tái)不同用戶角色提供相應(yīng)的功能。

      應(yīng)用管理:運(yùn)行應(yīng)用的全生命周期管理,功能覆蓋應(yīng)用的代碼托管、應(yīng)用的發(fā)布管理、彈性伸縮、應(yīng)用配置等。

      日志管理:實(shí)現(xiàn)系統(tǒng)組件和應(yīng)用日志的采集、分析、展示。

      監(jiān)控告警:實(shí)現(xiàn)組件和應(yīng)用的監(jiān)控、告警功能。

      資源管理:指運(yùn)行在PaaS平臺(tái)之上的所有服務(wù)組件及應(yīng)用的硬件資源環(huán)境的統(tǒng)一管理,涉及資源模板、資源分配與編排、資源注入等功能。

      服務(wù)管理:指運(yùn)行在PaaS平臺(tái)上的所有服務(wù)組件的全生命周期管理,功能覆蓋服務(wù)上架、服務(wù)訂閱、服務(wù)目錄、服務(wù)運(yùn)行等。

      鏡像倉庫:可以讓開發(fā)人員輕松存儲(chǔ)、管理和部署Docker 容器鏡像。采用分布式 的Docker鏡像服務(wù)架構(gòu),支持快速、穩(wěn)定的Docker鏡像下載與發(fā)布。通過HTTPS傳輸容器鏡像,然后自動(dòng)對(duì)靜態(tài)映像進(jìn)行加密。

      域管理:可以創(chuàng)建不同的用戶、角色和域。各用戶創(chuàng)建的資源池相對(duì)獨(dú)立,互不影響。

      3 和教育業(yè)務(wù)微服務(wù)改造

      3.1 微服務(wù)組件框架

      和教育微服務(wù)組件基于Spring Cloud框架開發(fā),Spring Cloud框架的基本組件與關(guān)系如下:

      圖3 微服務(wù)組件框架圖

      網(wǎng)關(guān):通過服務(wù)網(wǎng)關(guān)統(tǒng)一向外系統(tǒng)提供RESTFul API,除了具備服務(wù)路由、均衡負(fù)載功能之外,它還具備了權(quán)限控制等功能。將權(quán)限控制這些較重的非業(yè)務(wù)邏輯內(nèi)容遷移到服務(wù)路由層面,使得服務(wù)集群主體能夠具備更高的可復(fù)用性和可測(cè)試性。

      注冊(cè)中心:用于云端服務(wù)發(fā)現(xiàn)與定位服務(wù),以實(shí)現(xiàn)云端中間層服務(wù)發(fā)現(xiàn)和故障轉(zhuǎn)移??蛻舳讼蜃?cè)中心提供關(guān)于自己的元數(shù)據(jù)(諸如主機(jī)和端口,健康指標(biāo)URL,首頁等)。

      配置中心:把應(yīng)用原本放在本地文件的配置抽取出來放在中心服務(wù)器,從而能夠提供更好的管理、發(fā)布能力。SpringCloudCon fi g分服務(wù)端和客戶端,服務(wù)端負(fù)責(zé)將Git中存儲(chǔ)的配置文件發(fā)布成RESTFul接口,客戶端可以從服務(wù)端RESTFul接口獲取配置。

      微服務(wù):微服務(wù)應(yīng)用,即開發(fā)的具體應(yīng)用,向注冊(cè)中心注冊(cè),從配置中心獲取具體配置,由網(wǎng)關(guān)調(diào)用以實(shí)現(xiàn)訪問。

      3.2 微服務(wù)網(wǎng)絡(luò)

      PaaS平臺(tái)中針對(duì)每個(gè)微服務(wù)應(yīng)用啟動(dòng)多個(gè)pod,微服務(wù)應(yīng)用本身遵循Spring Cloud的架構(gòu)模式,向注冊(cè)中心注冊(cè),從配置中心取配置。pod之間的訪問地址為Kubernetes架構(gòu)下的虛擬IP,以避免容器重啟后容器IP變化導(dǎo)致的無法訪問問題。

      在對(duì)外提供服務(wù)時(shí),使用PaaS提供的負(fù)載均衡器,只需將網(wǎng)關(guān)服務(wù)對(duì)外暴露,即可保證整個(gè)微服務(wù)系統(tǒng)的可訪問性。在這種部署方式中,每一個(gè)微服務(wù)都能夠無中斷的自由擴(kuò)展或縮減容器數(shù)量,以應(yīng)對(duì)服務(wù)高峰期或低谷期的不同訪問壓力,且無需更改其他配置。

      和教育微服務(wù)中的應(yīng)用除discovery和con fi g以外,均對(duì)外提供服務(wù),所有的請(qǐng)求均是通過網(wǎng)關(guān)服務(wù)來傳達(dá)的,因此微服務(wù)架構(gòu)中只需暴露網(wǎng)關(guān)服務(wù)即可。在Kubernetes環(huán)境中,客戶端發(fā)來的請(qǐng)求首先經(jīng)過硬件負(fù)載均衡分發(fā)到Nginx代理,然后通過Nginx ingress分發(fā)到不同的微服務(wù)應(yīng)用上。

      圖4 微服務(wù)網(wǎng)絡(luò)架構(gòu)圖

      4 微服務(wù)改造效果

      和教育平臺(tái)經(jīng)過微服務(wù)化改造后:

      (1)應(yīng)用彈性伸縮、水平擴(kuò)展,擴(kuò)容周期提高到秒級(jí):結(jié)合PaaS平臺(tái)的水平擴(kuò)展功能、微服務(wù)的自動(dòng)發(fā)現(xiàn)與注冊(cè),保障了和教育在開學(xué)季訪問高峰期只需要增加容器數(shù)量就可以滿足擴(kuò)容;通過設(shè)置CPU和內(nèi)存利用率閾值,實(shí)現(xiàn)容器自動(dòng)擴(kuò)容。

      (2)軟件系統(tǒng)開發(fā)解耦,縮短代碼更新時(shí)間,上線周期縮短60%:和教育業(yè)務(wù),對(duì)資源配置需求靈活,客戶端接口模塊進(jìn)行微服務(wù)化后,降低耦合性,減少了開發(fā)更新的時(shí)間;編寫代碼提交到自動(dòng)編譯打包、持續(xù)集成、自動(dòng)部署上線全流程自動(dòng)化。

      (3)應(yīng)用服務(wù)實(shí)時(shí)檢測(cè)、故障自動(dòng)恢復(fù),提升業(yè)務(wù)可靠性:PaaS系統(tǒng)平臺(tái)設(shè)置監(jiān)控粒度及監(jiān)控對(duì)象,自動(dòng)重啟故障應(yīng)用;微服務(wù)的健康檢查能夠自動(dòng)踢除無效應(yīng)用,對(duì)微服務(wù)組件的可靠性起到了極大的提升作用。

      (4)資源精細(xì)化運(yùn)營(yíng),內(nèi)存利用率由原來40%提升到80%:和教育客戶端組件原來承載于10臺(tái)虛擬機(jī),內(nèi)存峰值利用率40%左右。微服務(wù)化后布署了45個(gè)Pod,內(nèi)存峰值利用率達(dá)到80%。

      5 結(jié)束語

      PaaS平臺(tái)基于Kubernetes技術(shù),具有高擴(kuò)展性、高兼容性、負(fù)載均衡、灰度升級(jí)、失敗冗余、容災(zāi)恢復(fù)等優(yōu)點(diǎn)。在使用中適合對(duì)這些因素有要求的場(chǎng)景,如:高峰時(shí)段和低谷時(shí)段業(yè)務(wù)量差異巨大,業(yè)務(wù)負(fù)載波動(dòng)劇烈,且波峰不可預(yù)估;高峰期業(yè)務(wù)資源需求高,很多應(yīng)用面臨快速上線的壓力;服務(wù)組件眾多,每次部署需要耗費(fèi)很長(zhǎng)時(shí)間,且容錯(cuò)能力比較薄弱,無法應(yīng)對(duì)大規(guī)模并發(fā)訪問等。結(jié)合容器化本身的特性,此系統(tǒng)更適合于模塊化程度高的應(yīng)用系統(tǒng)。

      猜你喜歡
      網(wǎng)關(guān)容器組件
      Different Containers不同的容器
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計(jì)
      難以置信的事情
      取米
      LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
      應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
      太陽能(2015年7期)2015-04-12 06:49:50
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      太陽能(2015年11期)2015-04-10 12:53:04
      白沙| 合川市| 柳州市| 南陵县| 鄂温| 泗水县| 东兰县| 南木林县| 崇阳县| 海门市| 荥阳市| 五家渠市| 商丘市| 镇康县| 黄浦区| 嫩江县| 雷山县| 石城县| 达尔| 喀喇沁旗| 祁东县| 荃湾区| 孟连| 鄯善县| 杭锦旗| 菏泽市| 垦利县| 沽源县| 建湖县| 宁化县| 樟树市| 浙江省| 建瓯市| 那坡县| 内乡县| 富源县| 南阳市| 开化县| 台中市| 宣武区| 宾阳县|