




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
KubeBlocks數據庫容器化和標準化之路蔡松露|云猿生CTO 01云、K8s和數據庫演化趨勢 03KubeBlocks的設計理念和核心特點04數據庫容器化的常見問題05數據庫私有化平臺案例云、K8s和數據庫演化趨勢趕超公有云K8sisnewpaas業(yè)務層PaaS層PaaS層服務發(fā)現配置管理聲明式APIPOD服務發(fā)現配置管理聲明式APIPODservicePVC/PVsecretconfigmapTaintTolerationAffinityAnti-AffinityeventK8sPaaS全景圖里還缺最后一塊:dbpaasdbPaaS的挑戰(zhàn)數據庫種類太多運維操作復雜數據庫種類太多運維運維操作引擎環(huán)境RedisMySQLPG開發(fā)和維護成本高引入新引擎成本高數據庫容器化后能不能像搭積木一樣在K8s上進行管理呢?首先思考:如何解決軟件工程復雜性問題文件系統(tǒng)的模型POSIX-POSIX-open()-write()xfsxfsK8s擴展的模型網絡系統(tǒng)的模型KubeBlocks通過抽象和分層來管理數據庫KubeBlocksOperator實現KubeBlocksAddonsKubeBlocksAddonsllcKubeBlocksAPIAddonAPIkbcliKubeBlocksCloudkbcliKubeBlocksCloudServiceSecretConfigmap…PodPVCKubeBlocks通過抽象和分層來管理數據庫KubeBlocksKubeBlocksOperator實現KubeBlocksAddonsllcKubeBlocksAddonsllcKubeBlocksAPIAddonAPIkbcliKubeBlocksCloudkbcliKubeBlocksCloudServiceSecretConfigmap…PodPVCKubeBlocks通過抽象和分層來管理數據庫kbclikbcliKubeBlocksKubeBlocksCloudKubeBlocksKubeBlocksOperator實現KubeBlocksAPIAddonAPIConfigmapServiceSecretPodPVC…KubeBlocksAddonsKubeBlocksAddonsllcKubeBlocks通過抽象和分層來管理數據庫KubeBlocksOperator實現KubeBlocksAddonsllcKubeBlocksAddonsllcAddonAPIKubeBlocksAPIAddonAPIkbcliKubeBlocksCloudkbcliKubeBlocksCloudServiceSecretConfigmap…PodPVC把KubeBlocksAPI映射到數據庫-MySQLComponent:Component:ProxyCluster:MySQL↓Component:OrchestratorComponent:Component:OrchestratorComponent:MySQLInstanceSetInstanceSetInstanceSetInstanceSetInstanceSetInstanceSetInstance InstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceServiceService ServiceServiceServiceService把KubeBlocksAPI映射到數據庫-Redis主備 Cluster:Redis Component:RedisComponent:Sentinel InstanceSetInstanceSet InstanceInstanceInstanceInstance Instance ServiceService把KubeBlocksAPI映射到數據庫-Redis集群 Cluster:RedisClusterComponent:RedisComponent:RedisComponent:RedisComponent:Component:RedisComponent:RedisComponent:RedisComponent:RedisInstanceSetInstanceSetInstanceSetInstanceSet↓ Instance↓ InstanceSetInstanceSetInstanceSetInstanceSet↓ Instance↓ ↓ Instance↓ ↓Instance↓Instance↓ InstanceSetInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstance↓↓↓ ServiceServiceServiceServiceServiceServiceServiceServiceServiceService把KubeBlocksAPI映射到數據庫-OB三節(jié)點 ! Component:OBServer↓ InstanceSet↓ Instance Instance Instance Service把KubeBlocksAPI映射到數據庫-OB主備 ! Component:OBServer↓ InstanceSet↓ InstanceInstance Service把KubeBlocksAPI映射到數據庫-PolarDB-X Component:CNComponent:GMSComponent:DN-0Component:DN-1Component:DN-2 InstanceSetInstanceSetInstanceSetInstanceSetInstanceSetInstanceInstanceInstanceInstanceInstance InstanceInstanceInstanceInstanceInstance InstanceInstanceInstanceInstanceInstance Instance↓ ServiceServiceServiceServiceService把KubeBlocksAPI映射到數據庫-KafkaCluster:KafkaComponent:Component:BrokerComponent:Component:ExporterComponent:ControllerInstanceSetInstanceSetInstanceSetInstanceSetInstanceSetInstanceSetInstanceInstanceInstance↓Instance InstanceInstanceInstanceInstance↓InstanceServiceServiceServiceServiceServiceServiceKubeBlocks通過抽象和分層來管理數據庫KubeBlocksOperator實現KubeBlocksAddonsllcKubeBlocksAddonsllcAddonAPIKubeBlocksAPIkbcliKubeBlocksCloudkbcliKubeBlocksCloudServiceSecretConfigmap…PodPVCKubeBlocks通過抽象和分層來管理數據庫KubeBlocksOperator實現KubeBlocksAddonsllcKubeBlocksAddonsllcAddonAPIAddonAPIkbcliKubeBlocksCloudkbcliKubeBlocksCloudServiceSecretConfigmap…PodPVCKubeBlocks通過抽象和分層來管理數據庫KubeBlocksKubeBlocksOperator實現KubeBlocksAddonsllcKubeBlocksAddonsllcAddonAPIKubeBlocksAPIAddonAPIkbcli?支持不同的副本有不同的配置(鏡像、資源、參數)kbcli?支持不同的副本有不同的配置(鏡像、資源、參數)KubeBlocksCloudServiceSecretConfigmap…PodPVCKubeBlocks通過抽象和分層來管理數據庫KubeBlocksKubeBlocksOperator實現KubeBlocksAddonsllcKubeBlocksAddonsllcAddonAPIKubeBlocksAPIAddonAPIkbclikbcliKubeBlocksCloudServiceSecretConfigmap…PodPVCKubeBlocks通過抽象和分層來管理數據庫KubeBlocksOperator實現KubeBlocksAPIAddonAPIKubeBlocksAPIAddonAPIServiceSecretConfigmap…PodPVCkbcliKubeBlocksCloudKubeBlocksAddonsllc例子:RedisAddon支持Redis多種部署形態(tài)單節(jié)點單節(jié)點(e.g.TwemProxy/Camellia)HA,"'SentinelSentinelSentinelSentinelSentinelSentinel Sentinel SentinelSentinel/apecloud/kubeblocks-addons/tree/main1.編寫ComponentDefinition:Redis/Sentinel/Proxy…- volumeMounts:…/apecloud/kubeblocks-addons/blob/main/addons/redis/templates/componentdefinition-red2.編寫ComponentDefinition:Redis/Sentinel/Proxyeocmpd-redis-sentinel.yamlvolumeMounts:…/apecloud/kubeblocks-addons/blob/main/addons/redis/templates/componentdefinition-redis-sentin3.編寫ComponentDefinition:Redis/Sentinel/Proxyooocmpd-redis-twemproxy.yaml ooocmpd-redis-twemproxy.yaml/apecloud/kubeblocks-addons/blob/main/addons/redis/templates/componentdefinition-redis-twempro4.編寫ClusterDefinition:組裝Redis/Sentinel/Proxykind:ClusterDefinitionmetadata:name:redisspec:topologies:-name:standalone2.主從+SentinelcompDef:“cmpd-redis2.主從+Sentinel-name:compDef:“cmpd-redis”-name:redis-compDef:“cmpd-redis-sentinel”-name:replication-twemproxycomponents:3.RedisProxy3.RedisProxySentinel-name:redis-sentinelcompDef:“cmpd-redis-sentinel”l-name:redislcompDef:“cmpd-redis-twemproxy”ll/apecloud/kubeblocks-addons/blob/main/addons/redis/tll5.使用RedisAddon創(chuàng)建和管理Redis數據庫cluster-cd-cluster-cd-cpu:“1.0”volumeClaimTemplates:……通過kbclikbcliclustercreatekbcliclustercreate/apecloud/kubeblocks-addons/blob/main/examples/redis/cluster-cd-topolKubeBlocks已經集成了35數據庫引擎家star》Dor1s/apecloud/kubeblocks-addons/tree/main/addons數據庫容器化常見問題容器化會不會影響數據庫的性能?K8s適合管理有狀態(tài)服務么?如何解決K8s和Operator的升級?虛擬化與容器化方案對比VMVMmicroVM?Firecracker用戶態(tài)gVisorrunC性能:runC>microVM>VM>gVisor安全性:VM≈microVM≈gVisor>runCKubeBlocks基于runC容器進行的性能優(yōu)化KubeBlocks基于runC容器進行的性能優(yōu)化KubeBlocks基于runC容器進行的性能優(yōu)化品品XFSPING_IN…PING_M…SETGETINCRLPUSHRPUSHLPOPRPOPSADDHSETSPOPZADDZPOPMINLPUSHLRANGE…MSETPING_IN…PING_M…SETGETINCRLPUSHRPUSHLPOPRPOPSADDHSETSPOPZADDZPOPMINLPUSHLRANGE…MSET數據庫容器化常見問題容器化會不會影響數據庫的性能?K8s適合管理有狀態(tài)服務么?如何解決K8s和Operator的升級?從StatefulSet到InstanceSetInstanceSetStatefulSetInstanceSetStat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 天津仁愛學院《計算機系統(tǒng)的局限性》2023-2024學年第二學期期末試卷
- 排球正面上手發(fā)球 教學設計-2023-2024學年高一上學期體育與健康人教版必修第一冊
- 阜陽職業(yè)技術學院《石油工程軟件》2023-2024學年第二學期期末試卷
- 億以內數的大小比較(教學設計)-2024-2025學年四年級上冊數學人教版
- 西安電力高等專科學?!娥B(yǎng)羊學》2023-2024學年第二學期期末試卷
- 寧夏財經職業(yè)技術學院《文化史》2023-2024學年第二學期期末試卷
- 泰州2024年江蘇泰興市婦幼保健院招聘高層次人才2人(第2批)筆試歷年參考題庫附帶答案詳解
- 漯河醫(yī)學高等??茖W?!朵摻Y構設計與施工》2023-2024學年第二學期期末試卷
- 鶴壁職業(yè)技術學院《建筑實訓》2023-2024學年第二學期期末試卷
- 伊犁師范大學《融媒體監(jiān)測技術》2023-2024學年第二學期期末試卷
- (高清版)JTGT 5440-2018 公路隧道加固技術規(guī)范
- 簡單的痛(復雜的評估)-醫(yī)學評估
- 第59講-熱重曲線分析(課件)
- 陪診服務項目計劃書
- Unit7ArtLesson2BeijingOpera課件高中英語北師版
- 2023高考語文文言文復習:《說苑》練習題(含答案解析)
- 低血糖健康宣教
- 《煉油化工基本知識》課件
- 關于高中語文教學中“微課”的運用分析獲獎科研報告論文
- 《射頻同軸電纜》課件2
- 以工代賑政策培訓課件
評論
0/150
提交評論