![Kubernetes與Openstack融合的企業(yè)級微服務(wù)架構(gòu)課件_第1頁](http://file4.renrendoc.com/view/471b79cc026de63efa1014e8307d3fd7/471b79cc026de63efa1014e8307d3fd71.gif)
![Kubernetes與Openstack融合的企業(yè)級微服務(wù)架構(gòu)課件_第2頁](http://file4.renrendoc.com/view/471b79cc026de63efa1014e8307d3fd7/471b79cc026de63efa1014e8307d3fd72.gif)
![Kubernetes與Openstack融合的企業(yè)級微服務(wù)架構(gòu)課件_第3頁](http://file4.renrendoc.com/view/471b79cc026de63efa1014e8307d3fd7/471b79cc026de63efa1014e8307d3fd73.gif)
![Kubernetes與Openstack融合的企業(yè)級微服務(wù)架構(gòu)課件_第4頁](http://file4.renrendoc.com/view/471b79cc026de63efa1014e8307d3fd7/471b79cc026de63efa1014e8307d3fd74.gif)
![Kubernetes與Openstack融合的企業(yè)級微服務(wù)架構(gòu)課件_第5頁](http://file4.renrendoc.com/view/471b79cc026de63efa1014e8307d3fd7/471b79cc026de63efa1014e8307d3fd75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Kubernetes與Openstack融合的企業(yè)級微服務(wù)架構(gòu)技術(shù)創(chuàng)新 變革未來第1頁,共28頁。第2頁,共28頁。2016年,中國人看手機(jī)的時間平均超過2小時2016年,全球平均每個用戶花在移動互聯(lián)網(wǎng)上的時間為3.1小時第3頁,共28頁。云計算拉開”互聯(lián)網(wǎng)”架構(gòu)變革序幕OpenStack is not the end , it is the beginning or a journey towards ”Internet” Architecture移動互聯(lián)(Mobile)社交(Social)大數(shù)據(jù)(Information)微服務(wù)和分布式架構(gòu)( Micro-service)云計算平臺( Clo
2、ud & OpenStack )軟件定義網(wǎng)絡(luò)( SDN)軟件定義存儲( SDS)虛擬化( virtualization)IT基礎(chǔ)設(shè)施(硬件和操作系統(tǒng))互聯(lián)網(wǎng)(”Internet” Architecture)第4頁,共28頁。單體架構(gòu) VS 微服務(wù)架構(gòu) https:/bliki/MicroservicePremium.html伴隨業(yè)務(wù)的快速成長,當(dāng)你的應(yīng)用面臨以下瓶頸:業(yè)務(wù)復(fù)雜度日益增高 團(tuán)隊規(guī)模日益龐大原有單體應(yīng)用的維護(hù)、升級和部署難度變大 應(yīng)用的迭代效率越來越慢應(yīng)對高并發(fā)業(yè)務(wù)存在性能瓶頸 缺乏足夠的容錯性是時候考慮微服務(wù)架構(gòu)了!第5頁,共28頁。單體架構(gòu) VS 微服務(wù)架構(gòu) https:/ar
3、ticles/microservices.html微服務(wù)架構(gòu)是隨著云計算的發(fā)展應(yīng)運而生的一種軟 件設(shè)計風(fēng)格,與之對立的是傳統(tǒng)的單體架構(gòu)技術(shù)視角采用一組服務(wù)的方式來構(gòu)建一個應(yīng)用系統(tǒng)微服務(wù)具備自包含性,可作為獨立的進(jìn)程存在不同微服務(wù)之間通過一些輕量級交互機(jī)制來通信,通常是HTTP型的API業(yè)務(wù)視角單一職責(zé)原則 (Single Responsibility Principle)按照業(yè)務(wù)(而非技術(shù))的邊界來確定服務(wù)的邊界第6頁,共28頁。提升迭代效率與傳統(tǒng)單體架構(gòu)應(yīng)用不 同,每個微服務(wù)是一個 能獨立發(fā)布的應(yīng)用服 務(wù),可作為獨立組件進(jìn) 行編譯、部署升級代價小,大大提 升效率,需求變更響應(yīng) 速度快彈性擴(kuò)展
4、容錯能力豐富的技術(shù)棧提高組織效率單體架構(gòu)緊耦合,而微 服務(wù)強(qiáng)調(diào)模塊化的結(jié)構(gòu), 微服務(wù)之間是松耦合的在應(yīng)用擴(kuò)展時,僅需擴(kuò) 展有瓶頸的微服務(wù),有 利于應(yīng)用的模塊化擴(kuò) 展單體架構(gòu)應(yīng)用所有功能 在同一進(jìn)程內(nèi)實現(xiàn),一 個功能bug可能導(dǎo)致整 體崩潰,而微服務(wù)可實 現(xiàn)進(jìn)程級別隔離每個微服務(wù)是自治的, 單個服務(wù)的異常通常不 會導(dǎo)致整個系統(tǒng)的故障根據(jù)業(yè)務(wù)的需求,不同 的服務(wù)可以根據(jù)業(yè)務(wù)特 性實現(xiàn)靈活的技術(shù)選型不同的微服務(wù)可以依賴 不同的編程語言、開發(fā) 框架以及數(shù)據(jù)存儲技術(shù)。 針對不同的微服務(wù),可 以選擇最合適的技術(shù)棧每個微服務(wù)可以由獨立 的Team開發(fā)和維護(hù),依 賴方按照統(tǒng)一的接口規(guī) 范定義好輸入和輸出即 可
5、,溝通成本低、效率 高“2 pizza”原則,團(tuán)隊 小而精,釋放生產(chǎn)力12345第7頁,共28頁。2017,基于云環(huán)境的創(chuàng)新模式設(shè)計者和開發(fā)者的比例直線上升第8頁,共28頁。Step 1架構(gòu)設(shè)計與實現(xiàn)微服務(wù)開發(fā)框架:Spring Cloud / Dubbo / 支撐平臺:容器(Kubernetes / Docker / )IaaS平臺(OpenStack / 公有云 / )PaaS平臺(OpenShift / CloudFoundry / )業(yè)務(wù)域&技術(shù)域技術(shù)域組織結(jié)構(gòu)域&技術(shù)域DevOps持續(xù)集成: Jenkins / 代碼管理: GitLab / GitHub / 自動部署:Ansible
6、 / Puppet / Step 2Step 3服務(wù)建模微服務(wù)拆分:領(lǐng)域驅(qū)動設(shè)計 (DDD)第9頁,共28頁。第10頁,共28頁。Kubernetes設(shè)計理念源于Google過去15年在生產(chǎn)環(huán)境中運行容器的管理經(jīng) 驗(前身為Google數(shù)據(jù)中心資源管理系統(tǒng)Borg)2014年開源,目前已經(jīng)迭代到V1.5版本為管理容器而生,核心是面向應(yīng)用集合了社區(qū)中先進(jìn)的理念和實戰(zhàn)技術(shù)由CNCF(Cloud Native Computing Foundation) 管理主要功能完備的應(yīng)用生命周期管理彈性伸縮負(fù)載均衡服務(wù)編排服務(wù)發(fā)現(xiàn)資源調(diào)度服務(wù)自愈機(jī)制第11頁,共28頁。服務(wù)發(fā)現(xiàn)Kube-DNSService配置
7、中心ConfigMapSecret負(fù)載均衡Kube-ProxyService容錯性Self-HealingHealth Check彈性伸縮Auto-Scaling服務(wù)編排DeploymentHelm任務(wù)管理JobCronJob日志管理EFK監(jiān)控PrometheusHeapster升級Rolling-Update第12頁,共28頁。kubednsdnsmasqexechealthzPodK8s livenessProbeK8s ServiceKube-DNSLookup upstreamnslookupnslookupHealth APIService ClusterIPLookup with
8、ServiceName.NamespaceK8s ServiceresourcesList/watch API基于云平臺構(gòu)建的微服務(wù)架構(gòu)的應(yīng)用,由于頻繁的擴(kuò)縮容和更新升級,微服務(wù)的網(wǎng)絡(luò)標(biāo)識經(jīng)常會動態(tài)變化,因此需要引入服務(wù)發(fā)現(xiàn)機(jī)制服務(wù)發(fā)現(xiàn)的實現(xiàn)方式:云平臺內(nèi)置的服務(wù)發(fā)現(xiàn)組件、自建服務(wù)發(fā)現(xiàn)系統(tǒng)(如Etcd、ZooKeeper、Consul)、微服務(wù)框架(如SpringCloud Eureka)Kubernetes通過集群內(nèi)部的DNS服務(wù)(Kube-DNS),配合Service,實現(xiàn)服務(wù)發(fā)現(xiàn)實現(xiàn)原理: Kubernetes將Service的名稱當(dāng)做域名注冊到Kube-DNS中,通過DNS服務(wù)完成Se
9、rvice名稱到Service的ClusterIP的解析,因此通過Service的名稱就可以訪問其提供的服務(wù)第13頁,共28頁。企業(yè)級應(yīng)用的配置管理復(fù)雜:配置信息的種類繁多多套環(huán)境并存:開發(fā)、測試、預(yù)發(fā)布、生產(chǎn)采用微服務(wù)設(shè)計,服務(wù)數(shù)量增加導(dǎo)致配置管理復(fù)雜度增加ConfigMapService A-1Service B-1Service A-2Service B-2配置更新繁瑣:更新配置經(jīng)常需要重新構(gòu)建、部署應(yīng)用構(gòu)建微服務(wù)架構(gòu)的統(tǒng)一配置中心:Kubernetes ConfigMap配置與容器應(yīng)用分離集中管理應(yīng)用配置批量動態(tài)更新應(yīng)用配置Secret:處理敏感信息第14頁,共28頁。Service
10、ClusterIP : PortNodeNodePodPodPodPodPodPodKube-Proxy (Iptables)外部 ClientPodKubernetes Service到后端一組Pod實例的負(fù)載均衡和請求轉(zhuǎn)發(fā), 由Kubernetes組件Kube-Proxy實現(xiàn)Kube-Proxy借助Iptables工具,設(shè)置轉(zhuǎn)發(fā)規(guī)則,將Service的流量進(jìn)行重定向默認(rèn)采用輪詢方式(Round Robin)進(jìn)行分配,支持會話保持外部負(fù)載均衡實現(xiàn):自建軟件/硬件負(fù)載均衡器(HAProxy/Nginx/F5)Kubernetes Ingress使用IaaS平臺的負(fù)載均衡器第15頁,共28頁。應(yīng)
11、對高并發(fā)高流量業(yè)務(wù)場景定時性/周期性秒殺活動促銷活動定時搶票突發(fā)性突發(fā)應(yīng)急性事件熱點事件提前規(guī)劃, 手動實施彈 性伸縮基于監(jiān)控指 標(biāo),設(shè)置自 動彈性伸縮典型應(yīng)用行業(yè)金融電商運營商公共服務(wù)應(yīng)急管理調(diào)整RC/RS 控制的Pod 實例副本數(shù) 量設(shè)置HPA, 根據(jù)Pod負(fù) 載動態(tài)調(diào)整 實例數(shù)量第16頁,共28頁。故障自愈(Self-Healing):容器異常時,自動重啟Node節(jié)點宕機(jī)時,重新調(diào)度并啟動容器應(yīng)用健康檢查(Health-Check):Liveness探針:檢查容器是否處于運行狀態(tài),如檢測到容器運行狀態(tài)不正常,則Kubelet會 殺掉容器,并根據(jù)設(shè)置的Restart Policy進(jìn)行相應(yīng)操
12、作(如本地重啟)Readness探針:判斷容器內(nèi)服務(wù)是否已正常工作,如未啟動完成或工作異常,則將該服務(wù) 所在Pod的IP從Service的Endpoint中移除,不接受請求三種類型的檢測:TCP檢查:通過容器的IP和端口號進(jìn)行TCP檢查HTTP檢查:通過容器的IP、端口號及路徑,進(jìn)行HTTP檢查在容器內(nèi)部執(zhí)行一條命令,以判斷容器健康狀態(tài)第17頁,共28頁。Deployment 編排文件示例副本數(shù)量Pod定義模板Deployment對Pod和Replica Set的定義和描述模板,目的 是更好的解決容器應(yīng)用的編排問題典型應(yīng)用場景:通過創(chuàng)建Deployment對象來生成Pod和RSDeployme
13、nt更新/回滾(均采用灰度方式)檢查Deployment狀態(tài)來查看部署進(jìn)度Helm項目第18頁,共28頁?;叶壬墸翰捎肒ubernetes原生的灰度升級方式,保證業(yè)務(wù)系統(tǒng)在升級過程中不中斷,升級過程中新/舊版本并存快速回滾:Docker鏡像版本管理機(jī)制,在升級發(fā)生問題時,保障鏡像版本可隨時進(jìn)行回滾操作降低微服務(wù)升級的風(fēng)險第19頁,共28頁。第20頁,共28頁。狀態(tài)問題:有狀態(tài)(集群)服務(wù)并不完全適合部署在容器上,如何處理?管理問題:容器需要與虛擬機(jī)、物理機(jī)協(xié)同工作,如何管理和編排?安全問題:容器化微服務(wù)應(yīng)用,應(yīng)用之間如何實現(xiàn)安全隔離?新的問題網(wǎng)絡(luò)問題:異構(gòu)支撐平臺的SDN網(wǎng)絡(luò)解決方案,如何選
14、擇?存儲問題:異構(gòu)支撐平臺的軟件定義存儲解決方案,如何選擇?通過Kubernetes與OpenStack的融合,構(gòu)建一體化支撐平臺第21頁,共28頁。OpenStack專注于云數(shù)據(jù)中心基礎(chǔ)設(shè) 施的編排、管理和調(diào)度Kubernetes以應(yīng)用為中心,專注于創(chuàng)新型云原生應(yīng)用的交付和管理融合架構(gòu)愿景1+1 2二者優(yōu)勢互補(bǔ),打通云數(shù)據(jù)中心 新一代應(yīng)用交付的最后一公里加速應(yīng)用交付,助力業(yè)務(wù)創(chuàng)新第22頁,共28頁。一體化運維管理統(tǒng)一管理視圖統(tǒng)一編排統(tǒng)一應(yīng)用中心統(tǒng)一網(wǎng)絡(luò)鏡像管理容器集群管理企業(yè)級容器云平臺DevOps應(yīng)用管理Neutron統(tǒng)一存儲計算資源管理企業(yè)級OpenStack平臺 網(wǎng)絡(luò)資源管理存儲資源管
15、理LBaaS / FWaaS / VPNaaS / Cinder / ManilaCeph 分布式存儲集中式商業(yè)存儲虛擬機(jī)物理機(jī)VMVMVMVM監(jiān)控告警日志管理租戶管理安全認(rèn)證計量計費自動部署Kubernetes容器集群容器VMVMVM虛擬機(jī)Kubernetes容器集群容器 物理機(jī)第23頁,共28頁。接入API層AppAppAppWEB負(fù)載均衡器ZoZookoekeepeepre集r集群群(服務(wù)Z注oZoo冊koe和keep發(fā)eep現(xiàn)re集)r集群群(服服務(wù)務(wù)注Z注o冊o冊和ke和發(fā)ep發(fā)現(xiàn)e現(xiàn))r集)群(服服務(wù)務(wù)注注冊冊和和發(fā)發(fā)現(xiàn)現(xiàn))負(fù)載均衡器負(fù)載均衡器登錄服務(wù) 下單服務(wù)搶單服務(wù) 下單服務(wù)
16、搶單服務(wù) 監(jiān)控指揮 搶單服務(wù) 監(jiān)控指揮撮合系統(tǒng) 廣告操控 路徑分析撮合系統(tǒng) 廣告操控 路徑分析 撮合系統(tǒng) 廣告操控 路徑分析ReRdeids集is集群群(緩緩存存服Re服務(wù)di務(wù)器s集器)群)(緩存服務(wù)器)MMonognogDoBD集B集群群(文文檔M檔型o型n數(shù)g數(shù)據(jù)oD據(jù)庫B庫)集)群(文檔型數(shù)據(jù)庫)MMMaraaiarriDiaaBDDBB集群(關(guān)系型數(shù)據(jù)庫)微服務(wù)應(yīng)用層登錄服務(wù)優(yōu)惠券統(tǒng)計分析登錄服務(wù)優(yōu)惠券統(tǒng)計分析支付支付 清算 清算RPC狀態(tài)數(shù)據(jù),撮合數(shù)據(jù), 訂單數(shù)據(jù)位置數(shù)據(jù)訂單數(shù)據(jù)請求服務(wù)AppAppAppWEBWEBWEBAPIAPISocket SocketRestRestAPIAPISocket SocketRestRestAPIAPISocket SocketRestRestAPIAPISocket Socket RestRest第24頁,共28頁。統(tǒng) 一云 計 算 管 理平 臺 裸機(jī) 部署區(qū)容器 部署區(qū)虛機(jī) 部署區(qū)登錄服務(wù)搶單 服務(wù)撮合系統(tǒng)優(yōu)惠券下單服務(wù)登錄 服務(wù)搶單 服務(wù)撮合 系統(tǒng)優(yōu)惠券下單 服務(wù)支付清算支付清算API服務(wù)VMAPI服務(wù)VMZooke eper VMRedisVMRedisVM監(jiān)控指揮統(tǒng)計分析廣告 操控路徑 分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年臨時電梯使用協(xié)議范本
- 2025年施工合同修改協(xié)議
- 2025年創(chuàng)業(yè)園區(qū)租賃協(xié)議
- 2025年交通工程安全事故補(bǔ)償協(xié)議
- 2025年三人合資企業(yè)合同范本
- 2025年離異家庭撫養(yǎng)權(quán)策劃安排合同
- 2025年住房及其周邊設(shè)施購買合同
- 2025年代理服務(wù)合同范文協(xié)議書
- 2025年策劃社團(tuán)聯(lián)合共創(chuàng)協(xié)議書
- 2025年交通項目合作實施協(xié)議書模板
- 2025年廣西教育出版社有限公司招聘筆試參考題庫含答案解析
- 中醫(yī)膏方臨床應(yīng)用與制備工藝規(guī)范 DB32/T 4870-2024
- JJG(交通) 208-2024 車貨外廓尺寸動態(tài)現(xiàn)場檢測設(shè)備
- 履帶式剪叉高空作業(yè)平臺安全操作規(guī)程
- 2024-2025年第一學(xué)期初中德育工作總結(jié)
- 圍手術(shù)期手術(shù)患者護(hù)理要點
- 中國心力衰竭診斷和治療指南2024解讀(完整版)
- 大潔王槍水MSDS
- 勞務(wù)分包入住生活區(qū)承諾書
- 成績加權(quán)平均分計算器
- 直系親屬關(guān)系證明(存根)(共1頁)
評論
0/150
提交評論