




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于基于CloudFoundryCloudFoundry的私有云平臺的私有云平臺內(nèi)容內(nèi)容背景與目標實踐與改造(Part 1、2)流程與標準改變運維未來計劃1. 背景與目標運維與運維與PaaSStorageServersNetworkingO/SMiddlewareVirtualizationDataApplicationsRuntimeOP(SRE),運維,運維PaaS (and IaaS)目標目標自動化自動化業(yè)務的生命周期管理,如變更、監(jiān)控業(yè)務的生命周期管理,如變更、監(jiān)控、故障處理等故障處理等資源利用率、彈性資源利用率、彈性標準化標準化流程流程實例標準實例標準系統(tǒng)環(huán)境、系統(tǒng)環(huán)境、runtim
2、eruntime、frameworkframework一體化一體化集成第三方集成第三方服務,如服務,如DBDB、CacheCache、loglog、FSFS等等與其他系統(tǒng)平臺聯(lián)動與其他系統(tǒng)平臺聯(lián)動Why CloudFoundry ?自動化標準化一體化機器管理(下游部門)自動化自動化一體化一體化標準化標準化Why CF ?自動化一體化標準化2. 實踐與改造(Part1)Java,base on cf 1.0Java Apps產(chǎn)品種類 100APP 200實例2000平均單實例10G(內(nèi)存)日均總pv 10億APP的開發(fā)及測試人員 700人Tomcat5/6/7、jdk1.5/1.6、Standa
3、lone開始開始實施實施,準備工作,準備工作基于CentOS的相關(guān)改造 獨立部署各個CF組件 拆解BOSH、chef,基于物理機實施 OS環(huán)境初始化 apt-get 改為 yum Ubuntu-cmd to CentOS DEA(v1.0),agent.rb、secure.rbyum install -y make gcc gcc-c+ kernel-devel.x86_64 openssl-devel.x86_64 libxml2.x86_64 libxml2-devel.x86_64 libxslt.x86_64 libxslt-devel.x86_64 git.x86_64 sqlite
4、.x86_64 ruby-sqlite3.x86_64 sqlite-devel.x86_64 unzip.x86_64 zip.x86_64 ruby-devel.x86_64 ruby-mysql.x86_64 mysql-devel.x86_64 curl-devel.x86_64 postgresql-libs.x86_64 postgresql-devel.x86_64 zlib-devel.x86_64 readline-devel.x86_64 ImageMagick.x86_64 ImageMagick-devel.x86_64 php-magickwand.x86_64集群集
5、群容量評估容量評估實例數(shù)量,NATS容量評估 單臺DEA承載的實例數(shù)( 0.5.beta.6)NATS-Server1NATS-Server2NATS-Client(caching message)NATS-Server1/2, Random list多集群冗余設計多集群冗余設計多個獨立的集群,邏輯互不影響第一層切換,修改DNS A記錄,對多個域名(CNAME到此A記錄),統(tǒng)一切到不同的集群第二層切換,修改“接入層”(其應用層的功能,可簡單理解為nginx的反向代理)保證好APP(無狀態(tài))的容量,或快速擴容的預案,以防止流量切過來以后,出現(xiàn)過載Baidu GateWayFront EndRou
6、terA記錄Baidu GateWayFront EndRouterapp1app1CNAME(正式域名)CNAME(正式域名) CNAME . CNAME . . A 7 . A 6核心組件,分布核心組件,分布Router_1NATS_1RouterNATSCCHMStagerDEAPG_DBRedis整體整體結(jié)構(gòu)結(jié)構(gòu)(cf1.0)DEALoggingName ServiceMonitoringjvmStagerFilePersistenceHMRouterCCBaidu GateWay / Front EndjvmjvmAPI BridgeU
7、AAjvmjvmjvmjvmjvmRouter(Cluster 02)NATSDB新增功能新增功能支持RPC、單實例多端口 單實例開啟多個端口,并提供API實時查詢IP、端口號 與“名稱服務”聯(lián)動,同步動態(tài)ip端口與名稱的對應關(guān)系 RPC調(diào)用方,根據(jù)名稱直連實例DEA server支持RPC、單實例多端口Instance01:portInstance02:portAPI Bridge NS serverTXT記錄 ip:port ip:portRPC調(diào)用方NS clientDomain ip:port ip:portip_local_port_range10000 60000Port池(分配后
8、,有凍結(jié)期)61000 65000新增功能新增功能支持JMX API實時查詢ip與Jconsole端口號,實現(xiàn)JMX數(shù)據(jù)實時采集DEA支持 JMXInstance01: Jconsole 端口Instance02: Jconsole 端口 instances: index: 0, state: RUNNING, since: 438249600, jconsole_ip: , jconsole_port: 61111 , index: 1, state: RUNNING, since: 438249600, jconsole_ip: , jconsole_por
9、t: 62222Monitoring MetricsCpuUseRateDaemonThreadCount MemPool_OldGen_UseRate NonHeapMemoryUsage_used TotalCompilationTime TotalPeakThreadCount TotalStartedThreadCount UnloadedClassCount GC_Major_Frequency GC_Major_Time Stager:java -Dcom.sun.management.jmxremote.port=VCAP_JCONSOLE_PORT-Dcom.sun.manag
10、ement.jmxremote.authenticate=false-Dcom.sun.management.jmxremote.ssl=false新增功能新增功能加強健康檢查 七層檢測 文件句柄數(shù)檢測DEA ServerDEA agent.rbHealth Mangerinstancehttp可用性instanceCPUMEMDISKreport加強健康檢查句柄DEA(v1.0),邏輯改進邏輯改進端口管理 問題描述 單DEA多實例,并行的端口分配與啟動,沒有臨界區(qū),有端口競爭的問題 解決方案 借鑒了DEA(v2.0)的邏輯(注:即 DEA_NG,與CF1.0不兼容) 設定 ip_local_
11、port_range 為 1000061000,作為動態(tài)端口的范圍 將6100165000,作為DEA的調(diào)度分配端口 對分配的端口,增加“釋放時間、端口號”的數(shù)據(jù)結(jié)構(gòu) 通過延時釋放端口,解決了端口競爭的問題 備注 CF2.0中,已解決此問題,方法同上DEA(v1.0),邏輯改進邏輯改進實例資源信息管理 問題描述 du命令算實例磁盤空間,時間較長,隨后執(zhí)行其他計算命令,信息已不一致 CPU計算的方法,沒有考慮主機核數(shù) 解決方案 調(diào)整相關(guān)命令的順序 CPU利用率計算時,除以核數(shù) 備注 CF2.0中,已解決此問題新增功能新增功能(與外圍(與外圍系統(tǒng)系統(tǒng)聯(lián)動)聯(lián)動)文件持久化 使用MFS(Moose
12、File System) DEA 部署MFS-Client,并 mount /mfs/path,供實例使用 MFS服務端提供HTTP接口,獲取數(shù)據(jù)基于URI的路由,區(qū)分APP 監(jiān)控聯(lián)動 APP的生命周期,與外部監(jiān)控系統(tǒng)的API交互,實現(xiàn)監(jiān)控項的自動增刪改開發(fā)者工具包 自動化發(fā)布(封裝vmc) 文件查看主要主要改造點匯總改造點匯總(cf v1.0)基于CentOS的相關(guān)改造使用NATS-Cluster、NATS-Client重試與緩存支持RPC、單實例多端口支持動態(tài)JMX、Jconsole加強健康檢查端口管理實例資源信息管理外圍組件:文件持久化、監(jiān)控聯(lián)動、URI路由、開發(fā)者工具包2. 實踐與改造
13、(Part2)C/C+,base on cf 2.0C/C+ Apps,幾大核心問題,幾大核心問題Container 的運行環(huán)境與資源隔離 Kernel/GNU 資源隔離 快照,Core Dump單實例多進程 健康檢查 進程運行順序 實例內(nèi),進程間通信 多端口 多實例的同構(gòu)性C/C+ Apps,幾大核心問題,幾大核心問題大實例 實例個數(shù)多(10萬) 數(shù)據(jù)量大(單實例,2TB) 內(nèi)存占用高(單實例,100G) 啟動時間長(30分鐘) 流量大(單實例,日總PV2億) 漂移時,防止資源不足APP通信 網(wǎng)絡層通信,權(quán)限、流量控制 輸出文件,需要外部抓取 輸入文件,需要外部推送 RPC,非HTTP協(xié)議,
14、不包含PATH信息,無法路由實例的實例的 OS-Level 環(huán)境準備環(huán)境準備Container的運行環(huán)境 Kernel 與宿主機一致 訂制Container的文件環(huán)境warden/warden/root/linux/rootfs/setup.shif grep -q -i centos /etc/issuethen exec $(dirname $0)/centos.sh $fiContainerContainer與宿主機的關(guān)系與宿主機的關(guān)系WardenWardenNetworking,Bridge / NAT / Firewall / FlowControl DEA initxxx xxxx
15、xx xxxmount r usr/ lib/ etc/mount rw xxx/network interface(sub net)Cgroup CPU / MEMName space initxxx xxxxxx xxxmount r usr/ lib/ etc/mount rw xxx/network interface(sub net)Cgroup CPU / MEMName space包管理包管理Buildpack API detect , 檢查 complie,環(huán)境準備目錄結(jié)構(gòu)程序文件,及相關(guān)配套程序啟動腳本,保證進程的啟動順序,等等監(jiān)控腳本,可以周期性執(zhí)行,檢測整個實例的健康程度
16、 release,發(fā)布信息 Procfile,參數(shù)傳遞(如端口號) .profile.d,環(huán)境變量健康檢查,改造點健康檢查,改造點自定義監(jiān)控腳本 自定義監(jiān)控腳本,隨實例一起發(fā)布,周期性改寫stat_file文件內(nèi)容 DEA定期檢查stat_file文件實例實例stat_filemonitor.shprocess-1process-2DEAHMAPP的改造的改造針對RPC,支持NS Client動態(tài)配置文件,代替路由端口管理,凍結(jié)時間輸入輸出文件輸入文件,主動抓取輸出文件,推到中轉(zhuǎn)處(如云存儲),或基于NS服務多進程的管理,啟動腳本多進程,啟動順序控制進程控制文件持久化 遠程日志 使用云存儲整體
17、整體結(jié)構(gòu)結(jié)構(gòu)(CF2.0)DEALoggingName ServiceMonitoringFilePersistenceHMgorouter(RPC,不適用)CCBaidu GateWay / Front EndAPI BridgeUAA(Cluster 02)NATSContainerprocess-1process-2WardenNS ClientContainerprocess-1process-2Containerprocess-1process-2DB主要主要改造點匯總改造點匯總(cf v2.0)基于CentOS的相關(guān)改造Container環(huán)境的訂制Buildpack的訂制支持RPC
18、、單實例多端口加強健康檢查外圍組件:文件持久化、監(jiān)控聯(lián)動、URI路由、開發(fā)者工具包3. 流程與標準工作流程,簡述工作流程,簡述評審 標準 容量 SLA接入 組織關(guān)系 名稱信息 運維信息流程審批 權(quán)限申請 名稱申請 發(fā)布操作發(fā)布更新 預發(fā)布 灰度 回滾故障處理 可用性 安全 問題管理標準與容量,舉例標準與容量,舉例標準信息采集 App相關(guān)名稱、相關(guān)接口人(R&D、QA、運維、相關(guān)經(jīng)理,等) Runtime與容器版本 無狀態(tài)、RPC、URI路由 動靜態(tài)文件分離 文件持久化容量信息采集 PV、QPS 單實例 CPU、內(nèi)存、磁盤、帶寬、重啟時間 實例數(shù)量SLA,舉例,舉例服務對象 Java 應用(以下
19、簡稱“APP”) 符合標準的APP服務時間 24365全年無休溝通方式 Mail、Tel、接口人信息穩(wěn)定性相關(guān)指標 核心組件,可用性99.99%(每月),MTTR5天 控制服務,可用性99.95%(全年) APP自身SLA,不因平臺本身,造成負面影響 注:APP自身問題,不在此SLA范圍內(nèi),如:程序bug、容量預估錯誤、外部系統(tǒng)故障(如DB、Cache)等組織關(guān)系,層級組織關(guān)系,層級產(chǎn)品線(Org)模塊(Space)分組(APP)版本(APP-*) 產(chǎn)品線-2產(chǎn)品線-1 (Org)模塊-2模塊-1 (Space)分組-1(A)分組-2(B)實例,版本-1(APP-1-1)實例,版本-2(APP
20、-1-2)實例,版本-1(APP-2-1)實例,版本-2(APP-2-2)實例,版本-1(A-1)實例,版本-2(A-2)實例,版本-1(B-1)實例,版本-2(B-2)虛線內(nèi),相當于一個APP,且有多個實例對對CC進一步進一步封裝封裝產(chǎn)品線(Org)OrgName模塊(Space)OrgName_SpaceName模塊分組 OrgName_SpaceName_GroupTag模塊版本 OrgName_SpaceName_GroupTag_VersionTag實例(id唯一)OrgName_SpaceName_GroupTag_VersionTag_IndexGroupTag、VersionT
21、agGroupTag可以區(qū)分:配置文件、機房、機架等維度的不同VersionTag可以區(qū)分:程序、數(shù)據(jù)、配置文件等包含:四位版本號、時間戳實例完整名稱,例子Org_Space_GroupA_1-1-1-1-438249600_1Org_Space_GroupB_1-1-1-1-438249600_1審批與發(fā)布審批與發(fā)布發(fā)審批單APP信息(程序版本、容量信息、相關(guān)說明,等等)審批人(相關(guān)經(jīng)理、需知曉的人)操作者、操作時間監(jiān)控信息(監(jiān)控策略、接口人等)開始發(fā)布操作,并添加監(jiān)控發(fā)布前,對應審批流必須通過操作人、程序版本、MD5、時間等信息,必須與審批流一致都一致,且流程通過,則可以開始發(fā)布發(fā)布成功后
22、,添加監(jiān)控發(fā)單審批發(fā)布APP監(jiān)控添加預發(fā)布、發(fā)布、回滾預發(fā)布、發(fā)布、回滾app_v1instance01app_app_v1instance02app_v2instance01app_v2instance02app_v3instance01app_v3instance02app_泛域名、 map/unmap、 app的多版本并存前進,發(fā)布后退,回滾預發(fā)布,線下內(nèi)網(wǎng)觀察基本的灰度發(fā)布基本的灰度發(fā)布app_v1instance01app_app_v1instance02app_v2instance01app_v2instance02app_v3instance01app_1、將一個正式域名,同時指向多個app2、調(diào)整多個app的實例數(shù)比例,即調(diào)整了流量的比例app_v2instance03通過調(diào)整app實例的數(shù)量,灰度流量的分配比例“布道之道布道之道”,平臺的推廣,平臺的推廣軍功章,有誰的一半? APP的支持新服務,需遵守PaaS的相關(guān)標準、思想老服務,需R&D改造,QA需回歸測試 外圍的支持DB、Cache、存儲、接入、安全、監(jiān)控,等等明確收益,建立共贏的生態(tài)圈交付更快、資源更省、事情變得簡單一站式的一體化服務,攜手推廣一些方法一些方法給用戶(APP開發(fā)人員),尊貴的帝王般的享受對重點的APP,有針對性的重點服務對重要的管理者,有一套更完整、及時的溝通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲智能化系統(tǒng)運維與數(shù)據(jù)安全保障協(xié)議
- 圖錄資料補充及維護服務協(xié)議
- 全渠道加盟商合作共贏協(xié)議
- 智能家居環(huán)境控制系統(tǒng)安裝與定期檢修合同
- 智能家居系統(tǒng)研發(fā)、生產(chǎn)、安裝及培訓合同
- 直播帶貨渠道補充服務合同
- 影視后期制作與技術(shù)支持與維護合同
- 銷售管理人員分析
- 森林防火安全教育
- 剖腹產(chǎn)產(chǎn)期護理
- 車輛超速考試試題及答案
- 成人患者營養(yǎng)不良診斷與應用指南(2025版)解讀課件
- 2025年一級注冊建筑師歷年真題答案
- 十五五時期經(jīng)濟社會發(fā)展座談會十五五如何謀篇布局
- 初中電與磁試題及答案
- 浙江開放大學2025年《行政復議法》形考作業(yè)1答案
- 國家開放大學《西方經(jīng)濟學(本)》章節(jié)測試參考答案
- 湖南省炎德英才名校聯(lián)合體2025屆高考考前仿真聯(lián)考二英語+答案
- 陽光雨棚制作安裝合同范本
- 燃氣經(jīng)營安全重大隱患判定標準課件
- MOOC 大學公共體育-華南理工大學 中國大學慕課答案
評論
0/150
提交評論