当前位置:文档之家› 数据库容器化PaaS平台建设方案

数据库容器化PaaS平台建设方案


台账管理 数据管理
大屏展示 日志分析
POD
POD
POD
POD
操作系统 硬件服务器
网络设备 / SDN 存储设备 / SDS
生产数据中心
2020
操作系统 硬件服务器
网络设备 / SDN 存储设备 / SDS
灾备数据中心
数据库容器化PaaS功能架构
数 据 库 容 器 化 PaaS
备 份
备份集管理


备份策略
• 多云数据库管理 • 多种架构
自动化
• 一键式部署 • 流程标准化 • 快速交付
智能化
• 恢复演练 • SQL审核及优化 • 故障自愈
平台化
• 技术中台 • 数据安全性 • 数字化
2020
构建数据库PaaS需要什么
先分层→ 后细化
经验和需求的转化:
1、100+运维管理人员的经验吸收 2、200+客户和400+项目需求的收集
资源 变更
资源 使用
• 分钟级别交付 • 数据库拓扑信息 • 与CMDB对接
资源 回收
规范
数据库全生命 周期管理
资源 交付
管理层
连接 采用Agent方式
数据库层

可视化交互
平台可用性
元数据分布式 微服务化
资源调度
自动化
健壮性守 护
接口管 理
服务管 理
安装部 署
版本管 理
实例管 理
备份恢 复
监控告 警
SQL发 布
架构编 排
日志收 集
2020
不同客户的关注点
金融行业
• 稳定性(平台本身、数据库、安全性、大规模) • 高可用性(两地三中心灾备、数据一致性) • 兼容性(数据库版本、基础环境、国产化软硬件、原有实例纳管) • 运维便利性(故障快速定位、和内部平台对接、规范体系、灾备演练)
审批流程
管 理
API接口
审批意见 历史记录
中间件增删 配置中间件
中间件 状态
可 用
可用区


配置可用区

SIP管理
可用区主机配置
流量入口中间件配置管理
2020
容器化方案中的一些选择
API兼容性采用K8S v1.16 版本及其以上
监控采用Prometheus + Grafana 分布式监控能力 自研代理(集成exporter + cAdvisor)
实用性
扩展性
• 服务模块化 • 分布式Raft算法 • 组件高可用 • 跨中心部署 • 服务调度
2020
• 自服务交互 • 运维管理交互 • 安全性规范 • 交互遵循大众习惯
• 多级存储 • 数据模型优化 • Consul / Etcd分布式KV • MySQL持久化 • SQLite缓存 • 组件水平扩展
互联网行业
• 高性能(高并发、大数据量、性能优化) • 开发友好(数据库种类和架构的丰富性) • 服务交付效率(DevOps、快速上线、版本发布) • 高可用性(快速恢复、双活、切换无感知)
2020
管理层的设计
平台在项目交付中曾遇到过大规模下性能问题、数据库灾备切换问题、监控告警的扩展问题等。
可用性
数据库架构标准化 容器化镜像
2020
具备全生命周期管理能力
• 数据库归档 • 数据库销毁 • 定时下线回收
• 数据库在线迁移 • 数据库规格变更 • 数据库版本升级 • 数据库扩容 • 参数变更 • 高可用切换策略
• 监控告警 • 数据库开发及测试 • 备份恢复 • 性能优化(锁、
TOPSQL、慢SQL) • 故障分析
向自动化、智能化步进
注: 1. 仅统计MySQL、MongoDB、Redis等 2. 已有客户 + 圈内调研
2020
为什么需要构建数据库PaaS
应用架构的发展:单体应用 → 企业级SOA → 互联网服务化 → 微服务
大规模
• 数据库实例5000+ • 分散分布(分布式)
统一管理
• 支持常见的开源数据库
自研技术底座 自研容器化有状态服务管理
能力(非Operator)
富容器 → Service Catalog → 集成原生API接口(云原生)
访问入口(直连\中间件\ingress\LB) Local disk PV 分布式存储对接
数据库高可用与K8S副本调 度策略协同
EFK和K8S日志展示集成, 保留容器化运维习惯
• 读写分离 • 分布式 • 灾备(两地三中心) • 同城双活
2020
• 实例运维管理
• 故障切换 + 自定义流程 • 性能分析 • 批量处理 • 告警收敛 • 实例自动化巡检评分
数据库容器化PaaS整体架构
1.大集群(单集群支持2000+实例) 2.多种类数据库服务,涵盖应用多种需求 3.平台功能模块化,易扩展
数据库层的设计
兼容性
1. 不同的灾备等级下平台和数据库的架构应该如何设计? 2. 平台功能很多,日常运维人员需要关注哪些?
架构
能力中心
• MySQL / TiDB /OpenGauss
• MongoDB / Redis • 开源数据库主流版本 • x86 / ARM服务器 • 虚拟化 / 容器
• 高可用(数据同步方式)
手工备份 恢复到备份
恢复到指定时间点 备份资源配置
恢复演练 演练规则

自动化巡检报告

大屏展示

慢日志分析

SQL上线审核
安装部署 标签管理

资源消耗

数据库连接状态
图形展示
指标定义
管 理
数据库请求状态
数据库数据状态
API接口

告警信息展示


告警配置管理

邮件/微信/短信等告警通道管理
API接口
告警处理
数据库容器化PaaS平台建设方案
技术创新,变革未来
开源数据库使用的现状
10%
• 物理机+手工配 置部署
• 虚拟机镜像模板 +手工配置
30%
• 物理机+脚本 • 虚拟机镜像模板
+手工配置
20%
• 虚拟机+脚本 • 容器模板 • 物理机+脚本
20%
• 私有化PaaS • 物理机+脚本
20%
• 公有云RDS • 专有云

服务申请



台账管理
高可用 读写分离
分布式 灾备
销毁 水平扩展
实例诊断 修改实例规格
概览信息 访问方式
架构拓扑 规格信息

用户组


租户

资 源
修改主机
权限
角色 鉴权
容器注册
中 间

上架/下架


模 板
服务规格模板
管 理
计费模板
CPU配置 内存配置
磁盘 空间
& IOPS
审 批
可视化交互
数据库自服务管理
4.运维流程贴合运维习惯,故障分析便利 5.平台和数据库支持多中心部署 6.服务获取简单快速
智能化运维管理
API接口管理
高可用 灾备管理
读写分离 配置管理
分布式 备份恢复
多租户 权限管理
实例诊断 安装部署
接口 封装
基础技术底座
原生API
Kubernetes
监控告警 操作审计
相关主题