Kubernetes Operator 实践 - MySQL容器化
有状态服务容器化 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 无状态服务 服务调度 有状态服务集群 服务调度 状态保存 集群管理 有状态服务 服务调度 状态保存 带来的新挑战 服务调度 状态存储 集群管理 成员管理 扩缩容 故障迁移 高可用 CoreOS 提出了 operator Deployment StatefulSet mysql pod-1 … … mysql pod-N NodeN Mysql Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 主流程 API Server Reflector DeltaFIFO Local Storage Callbacks OnAdd OnUpdate CRD • Spec:配置 & 期望状态 • Status:当前状态 MySQL 配置 • 版本 • 端口 • 存储信息 • 配置文件 集群配置 • 副本数 • 高可用模式 K8s 调度信息 • 资源套餐 • 亲和性信息 • NodeSelector 使用 CRD 2. client-go 配套工具 apiVersion: apiextensions.k8s.io/v1beta10 码力 | 42 页 | 4.77 MB | 1 年前3Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
机 制 总体架构 分 布 式 监 控 资源管理|资源调度 复制与迁移|高可用保障|备份恢复 自 动 化 运 维 应用 DB中间件 数据存储 应用 VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 为了保证MySQL的高可用,需要在Docker容器分配时如何保障主从不在同一宿主机上。我们通过自研 Docker容器调度平台管理所有宿主机和容器,自定义Docker容器的分配算法。实现了MySQL的高密度,隔离 化,高可用化部署。 调度规则: 1.同一复制集群的实例在不同主机上。 2.优先分配CPU、内存、磁盘空间资源最空闲的主机。 3.根据IO需求调度容器创建在不同IO类型的主机。 4.申请新集群时,若IO要求高则按照宿主机的IO情况,优先选择IO最空闲的主机。 接入,且单机密度可控的情况下,网 络消耗不会过载。另外目前我们已经在线下尝试结合Ovs+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter0 码力 | 32 页 | 7.11 MB | 1 年前3MySQL 8.0.17 调优指南(openEuler 20.09)
● 对性能进行分析时,要多方面分析系统的资源瓶颈所在,因为系统某一方面性能 低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时, 很可能是内存容量太小,因为CPU忙于处理内存调度。 ● 一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难 界定性能的影响是由哪个参数造成的。 ● 由于在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU 对于不同的IO设备,通过在OS层面调整一些IO相关参数配置,可以有效提升服务器性 能。 方法 Linux参数 参数含义 操作 /sys/block/$ {device}/queue/ scheduler 配置IO调度,deadline或者noop更 适用于MySQL数据库场景。命令中 的${device}为数据盘名称,根据实 际磁盘名称进行修改。NVME盘不 支持此操作。 echo deadline > /sys/0 码力 | 11 页 | 223.31 KB | 1 年前3MySQL 企业版功能介绍
Oracle 标准支持服务 “借助 MySQL Query Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 云服务提供了一个安全、经济高效的企业级 MySQL 数据库服务。它基于 MySQL 企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 90%。恢复选项包括向后兼 容完整恢复、准确的一键式指定时间点恢复和专用于恢复一组特定对象的部分恢复。 MySQL 企业级高可用性 MySQL 企业级高可用性可帮助您满足一切应用的可用性需求,即便是极为严苛的任务关键型应 用。MySQL 分组复制通过内置分组成员管理、数据一致性保证、冲突检测和处理、节点故障检 测和数据库故障切换相关操作提供原生高可用性,所有这些都无需人工干预或定制工具。 MySQL0 码力 | 6 页 | 509.78 KB | 1 年前3
共 4 条
- 1