版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
KubeBlocks:
把所有數(shù)據(jù)庫都運行到
K8sK8siseatingthe
worldGKEEKSACKAKSOpenShift Rancher阿里云AWSGCPAzure物理機(jī)PODservicePVC/PVsecretconfigmapTaintAffinityeventTolerationAnti-AffinityAppWorkflow業(yè)務(wù)開發(fā)K8sInternal
Developer
Platform
/
平臺工程Endpoint Database Schema ACLK8siseatingthe
worldYAMListheprogramminglanguageof
DevOps傳統(tǒng)data
infra
control
plane——煙囪式架構(gòu)體驗不一致系統(tǒng)預(yù)期行為不一致引
擎運維操
作環(huán)
境業(yè)務(wù)引入新引擎成本高Conway's
LawDBPaaSAPI&
PortalMySQL管控PG管控MongoDB管控Redis管控OLAP管控ES,Kafka,ClickHouse,……HA備份恢復(fù)遷移監(jiān)控報警審計容災(zāi)資源調(diào)度云(虛擬機(jī))物理機(jī)存儲容器網(wǎng)絡(luò)升級賬號擴(kuò)縮容授權(quán)安全企業(yè)對云原生的data infra control
plane的需求§ 支持
IaC
實踐§ 提供聲明式
APIK8s
APIAutomation§ 學(xué)習(xí)曲線類似§ 支持新業(yè)務(wù)擴(kuò)展新引擎通過抽象和擴(kuò)展API實現(xiàn)對多種數(shù)據(jù)庫的統(tǒng)一管理K8s
APIkbcli領(lǐng)域模型YAML低代碼擴(kuò)展PodSchedulerCSI……生命周期配置管理備份還原高可用賬號管理監(jiān)控日志MySQL
CRRedis
CRPG
CRMongoDB
CRKafka
CRPulsar
CRStarRocks
CROceanBase
CR……K8s容器編排聲明式
API人工操作KubeBlocks
CloudIaC自動化OpenAPI擴(kuò)展APIKubeBlocks
API對分布式數(shù)據(jù)庫的拓?fù)溥M(jìn)行抽象Cluster&ClusterDefinitionComponent&ComponentDefinitionInstanceSetInstanceK8s
抽象PodPVCConfigmapServiceTolerationAffinity……抽象把KubeBlocks
API映射到數(shù)據(jù)庫
–
MySQLCluster:MySQLComponent:MySQLInstanceSetInstancePodPVCService抽象InstanceInstanceComponent:OrchestratorInstanceSetInstanceInstanceInstanceComponent:ProxyInstanceSetInstanceInstancePodServicePodService把KubeBlocks
API映射到數(shù)據(jù)庫
–
OceanBaseCluster:Oceanbase-paxosComponent:OceanbaseInstanceSetInstancePodPVCService抽象InstanceInstance把KubeBlocks
API映射到數(shù)據(jù)庫
–
OceanBase主備Cluster:Oceanbase-masterslaveComponent:Oceanbase-replComponent:Oceanbase-replInstanceSetInstanceInstanceSetInstancePodPVCServicePodPVCService抽象把KubeBlocks
API映射到數(shù)據(jù)庫
–
MogDBCluster:MogDB-masterslaveComponent:mogdbInstanceSet抽象InstanceInstancePodPVCService把KubeBlocks
API映射到數(shù)據(jù)庫
–
Redis主備Cluster:Redis-masterslaveComponent:RedisComponent:SentinelInstanceSetInstanceSetInstanceInstanceInstancePodPVCService抽象InstanceInstancePodPVCService把KubeBlocks
API映射到數(shù)據(jù)庫
–
Redis
ClusterCluster:Redis-clusterComponent:redisComponent:redisComponent:redisComponent:redisComponent:redisInstanceSetInstanceSetInstanceSetInstanceSetInstanceSet抽象InstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstancePodPVCServicePodPVCServicePodPVCServicePodPVCServicePodPVCService把KubeBlocks
API映射到數(shù)據(jù)庫
–
KafkaCluster:
kafkaComponent:brokerComponent:controllerComponent:exporterInstanceSetInstanceSetInstanceSetInstanceInstanceInstanceInstanceInstancePodPVCService抽象InstanceInstanceInstancePodPVCServiceInstancePod把KubeBlocks
API映射到數(shù)據(jù)庫
–
PulsarCluster:
pulsarComponent:pulsar-brokerComponent:pulsar-proxyComponent:bookiesComponent:zookeeperInstanceSetInstanceSetInstanceSetInstanceSetInstanceInstanceInstanceInstanceInstanceInstanceInstanceInstancePodPVCServicePodPVCService抽象InstanceInstanceInstanceInstanceInstancePodPVCServiceInstanceInstanceInstanceInstanceInstancePodPVCService不同層次KubeBlocks
API的不同用途分層Cluster&ClusterDefinitionComponent&ComponentDefinitionInstanceSetInstanceK8s
抽象PodPVCConfigmapServiceTolerationAffinity……表達(dá)一個分布式集群內(nèi)多個Component的拓?fù)潢P(guān)系表達(dá)一個分布式集群內(nèi)Component之間的啟動依賴順序表達(dá)一個分布式集群內(nèi)Component之間的引用關(guān)系(服務(wù)、配置)管理Cluster對外暴露的Service不同層次KubeBlocks
API的不同用途分層Cluster&ClusterDefinitionComponent&ComponentDefinitionInstanceSetInstanceK8s
抽象PodPVCConfigmapServiceTolerationAffinity……描述單個組件的鏡像、配置模板、運行腳本、監(jiān)控日志采集等通過Actions描述單個組件的行為分布式數(shù)據(jù)庫通過動態(tài)增減Component可以實現(xiàn)shardsscale-in/out不同層次KubeBlocks
API的不同用途分層PodPVCConfigmapServiceTolerationAffinity……管理一個復(fù)制集中多個副本間的復(fù)制關(guān)系和每個副本的角色管理外部負(fù)載均衡器到副本的路由管理升級、重啟多個副本的順序和并發(fā)策略管理指定副本的上線、下線支持不同的副本有不同鏡像、配置和資源需求Cluster&ClusterDefinitionComponent&ComponentDefinitionInstanceSetInstanceK8s
抽象不同層次KubeBlocks
API的不同用途分層Cluster&ClusterDefinitionComponent&ComponentDefinitionInstanceSetInstanceK8s
抽象PodPVCConfigmapServiceTolerationAffinity……管理磁盤的擴(kuò)容、縮容管理多IP/host
network地址/nodeport地址/LB地址等支持?jǐn)?shù)據(jù)庫插件、工具的動態(tài)加載支持Auto-Scale通過擴(kuò)展API定義不同數(shù)據(jù)庫的差異Cluster&ClusterDefinitionComponent&ComponentDefinitionInstanceSetInstanceK8s
抽象PodPVCConfigmapServiceTolerationAffinity……不同Cluster具有不同的拓?fù)浜徒M件不同Component的模板和行為也不一樣需要通過ClusterDefinition和ComponentDefinitionAPI來編碼(YAML)低代碼的開發(fā)KubeBlocks插件擴(kuò)展低代碼插件擴(kuò)展新引擎
–
案例
向量數(shù)據(jù)庫Qdrant1每個組件如何配置和啟動配置文件 啟動腳本服務(wù)端口要創(chuàng)建哪些組件Qdrant-web-ui瀏覽器客戶端Qdrant計算+存儲層Qdrant-Tools內(nèi)置運維工具擴(kuò)展低代碼插件擴(kuò)展新引擎
–
案例
向量數(shù)據(jù)庫Qdrant2ClusterDefinition.yaml定義集群拓?fù)浜徒M件配置,每個集群一個,為每個組件填寫volumeMounts數(shù)據(jù)文件和日志文件目錄configSpec配置文件scriptSpec腳本文件command,ports啟動命令和服務(wù)端口ClusterVersion.yaml為每個組件填寫:
Image
信息kind:
ClusterDefinitionmetadata:name:qdrantspec:componentDefs:-name:qdrant
configSpecs:…monitor:…scriptSpecs:…podSpec:containers:-command:
ports:…
volumeMounts:…kind:
ClusterVersionmetadata:name:qdrant-1.5.0spec:clusterDefinitionRef:
qdrantcomponentVersions:componentDefRef:
qdrant
versionsContext:containers:image:qdrant:v1.5.0name:
qdrantimage:qdrant-web-ui:latest
name:web-uiimage:curl-jq:latestname:
qdrant-tools擴(kuò)展低代碼插件擴(kuò)展新引擎
–
案例
向量數(shù)據(jù)庫Qdrant3addon.yaml描述Qdrant,
指定是否默認(rèn)安裝等信息*
KubeBlocks
的
CICD
流程會自動創(chuàng)建
qdrant.tgz,開發(fā)者不需要關(guān)心Qdrant
Addon配置
Qdrant
Addon
要寫多少代碼?開發(fā)時間~2周低代碼行數(shù)~2000行配置yaml:~600scripts:~200configs:~200json:
~1200kind:
Addonmetadata:name:
qdrantspec:description:Qdrantisanopensourcevectorsimilaritysearch.helm:chartLocationURL:https://.../charts/qdrant.tgz*installable:autoInstall:
falsetype:
Helm擴(kuò)展低代碼插件擴(kuò)展新引擎
–
案例
向量數(shù)據(jù)庫Qdrant*Richday-2
operations2步創(chuàng)建集群Step
1:
打開
addonStep
2:
創(chuàng)建
myqdrantStep
X:
集群運維kbcliaddonenable
qdrantkbcliclustercreatemyqdrant--cluster-definition
qdrantkbclicluster<ops>
myqdrant運維任務(wù) 支持情況Stop/Start YRestart YUpgrade YVolume-Expand
YVScale YHScale YBackup/Restore Y擴(kuò)展像搭樂高積木一樣標(biāo)準(zhǔn)與高效的在K8s上組裝數(shù)據(jù)庫基礎(chǔ)設(shè)施拆解元件(Component)基于KubeBlocks(Addon)組裝式搭建(Cluster)組裝通過Component靈活組裝Redis的多種部署形態(tài)1.
單節(jié)點SSS2.
主從+SentinelHASSS3.RedisProxy+RedisShards+
SentinelHARedis
Proxy4.Redis
Cluster組裝為企業(yè)在
K8s
上搭建統(tǒng)一管理多種數(shù)據(jù)庫的
DBPaaS性能KubeBlocks針對容器和云環(huán)境對MySQL與PostgreSQL數(shù)據(jù)庫的內(nèi)核和參數(shù)進(jìn)行優(yōu)化,性能超過同規(guī)格RDS??捎眯訩ubeBlocks支持多種數(shù)據(jù)庫的高可用集群配置??捎^察性KubeBlocks從豐富的數(shù)據(jù)源采集監(jiān)控指標(biāo),集成了Prometheus堆棧,并提供了富有洞察力的Grafana模板。此外,還提供慢日志等排查工具。可擴(kuò)展性KubeBlocks對接入一個新的數(shù)據(jù)庫引擎提供了良好的抽象,通過addon機(jī)制可以快速集成,并提供一致的使用體驗和預(yù)期行為。KubeBlocks
是一個開源的在
K8s
上運行和管理數(shù)據(jù)基礎(chǔ)設(shè)施的系統(tǒng)軟件,它幫助開發(fā)人員、SRE、平臺工程師在企業(yè)中部署和維護(hù)專用的DBPaaS,并支持多種公共云和私有云環(huán)境。為數(shù)據(jù)庫運維提供豐富的
Day-2
Operations集群管理水平伸縮垂直伸縮存儲擴(kuò)容參數(shù)設(shè)置重啟停止/啟動版本升級賬號管理可觀測性備份恢復(fù)內(nèi)置
Prometheus與外部監(jiān)控系統(tǒng)無縫集成多層級監(jiān)控大盤IM/EMAIL
報警基于快照的自動備份集成流行的備份工具保存在低成本的對象存儲全量恢復(fù)/按時間點恢復(fù)高可用數(shù)據(jù)遷移FailoverSwitchover可配置的故障隔離級別內(nèi)置遷移工具外部數(shù)據(jù)庫導(dǎo)入mysql2mysqlpg2pg異構(gòu)遷移混沌測試性能測試故障注入
Fault-inject故障觀測
NyancatBench-
tpccBench-
fio基礎(chǔ)插件三方引擎PrometheusCsi-s3-driverNebulaRisingWaveqdrantweaviateMilvusGrafanaAws
loadbalancercontrollerPikaKubeBlocks
高可用架構(gòu)設(shè)計支持多種數(shù)據(jù)庫的高可用集群配置LeaderFollowerFollowerPaxosOceanBasePostgreSQLPrimaryPostgresPatroniSecondaryPostgresPatroniSentinelMasterSlaveRedisOrchestratorMasterSlaveMySQL角色/健康探測探測節(jié)點可用性切換角色
Label控制粒度到Pod滾動更新,控制節(jié)點變更順序計劃內(nèi)角色切換容災(zāi)調(diào)度策略不同節(jié)點部署不同可用區(qū)部署支持集成第三方高可用組件可定制健康探測,結(jié)合系統(tǒng)信息綜合判斷節(jié)點異常時提供自修復(fù)能力SSenetnintienlelKubeBlocks
備份恢復(fù)設(shè)計Backup
CRBackupPolicy
CRBackupSchedule
CRActionSet
CRBackupRepo
CRStorageProvider
CRRestore
CRDataProtection
ControllersGC
ControllerDB
PodBackup
Jobcsi-s3對象存儲miniogcscosobsosss3VolumeSnapshots備份方法卷快照備份備份工具備份,如
xtrabackup,pg_basebackup
等觸發(fā)方式按需備份自動備份備份類型全量備份持續(xù)備份(PITR)備份倉庫兼容
S3
協(xié)議的多云的對象存儲MinIONAS其他存儲NAS備份監(jiān)控ü
備份中心對備份成功率、備份速度進(jìn)行實時監(jiān)控ü
備份倉庫存儲用量的監(jiān)控備份保存ü
備份可保存在本地NAS設(shè)備,也可保存到云端對象存儲ü
已刪除集群的備份可永久保留,可自定義保留最近一份備份,或者保留全部備份備份恢復(fù)ü
支持備份集恢復(fù)和時間點恢復(fù),數(shù)據(jù)零丟失ü
發(fā)起恢復(fù)時可選擇同環(huán)境恢復(fù)或者跨環(huán)境恢復(fù),通過跨環(huán)境恢復(fù)可實現(xiàn)異地災(zāi)備KubeBlocks
可觀測性設(shè)計Oteld
CRMonitorDefinitionCRLogsExporterSinkCRMetricsExporterSinkCROtel
OperatorBackend
storageprometheusVictoriaMetricsdatadogclickhousekafkaNodeelasticsearchlokis3DB-Pod-0db-containerDB-Pod-ndb-containerDaemonsetOteldCollectorSinkpluginsNodeDashboardExternalMonitoringWriteReadRead現(xiàn)代可觀測性技術(shù)棧ü
基于OpenTelemetry標(biāo)準(zhǔn)設(shè)計監(jiān)控系統(tǒng)的接口和數(shù)據(jù)格式,使得跨系統(tǒng)的分析更加高效ü
Prometheus/vm用于收集監(jiān)控指標(biāo),Grafana負(fù)責(zé)可視化,loki用于日志收集與查詢多樣化監(jiān)控插件ü通
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路公務(wù)安全培訓(xùn)課件
- Unit8Let'sCommunicate!SectionAad課件人教版初中英語八年級上冊()
- 第5章第3講菱形 中考數(shù)學(xué)深圳專用版
- 2025-2030家用電器和商用電器行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 年中考化學(xué)一輪大單元復(fù)習(xí)(甘肅)第五單元化學(xué)反應(yīng)的定量關(guān)系課件()
- 小學(xué)三年級數(shù)學(xué)每單元課后練習(xí)題庫
- 2026年建筑電氣設(shè)計與環(huán)境適應(yīng)性
- 高三地理一輪復(fù)習(xí)-臺風(fēng)公開課獲獎?wù)n件百校聯(lián)賽一等獎?wù)n件
- 大賣場孕嬰童館的規(guī)劃方案教案
- 2026年橋梁使用壽命與耐久性相互關(guān)系
- 《黃土原位測試規(guī)程》
- 水平定向鉆施工技術(shù)應(yīng)用與管理
- 風(fēng)險金管理辦法
- 煙花爆竹安全生產(chǎn)會議
- 綠化養(yǎng)護(hù)中病蟲害重點難點及防治措施
- 學(xué)堂在線 雨課堂 學(xué)堂云 工程倫理2.0 章節(jié)測試答案
- 生態(tài)旅游區(qū)建設(shè)場地地質(zhì)災(zāi)害危險性評估報告
- 網(wǎng)絡(luò)傳播法規(guī)(自考14339)復(fù)習(xí)題庫(含答案)
- 民辦學(xué)校退費管理制度
- T/CIE 115-2021電子元器件失效機(jī)理、模式及影響分析(FMMEA)通用方法和程序
- 廣東省江門市蓬江區(qū)2025年七年級上學(xué)期語文期末考試試卷及答案
評論
0/150
提交評論