Code as Standrad 这个名词是我发明的,为了减少对部署规范文档的依赖,使用 playbook 编码的方式固定部署规范, 使用 dbops 部署即视为满足交维规范。
dbops是什么?
dbops 是一堆高效的 ansible playbook 的集合,目前是一个自动化安装部署生产级别的 MySQL 及周边生态的工具,或是一种方案。dbops 还在不停迭代开发中,后续要支持更多的功能。作者专注于开源数据库的研究,第一期支持 MySQL,第二期可能会支持 openGauss 3.0+。
至于为什么没有支持 TiDB、Oceanbase,答案是他们自己的工具 tiup 和 OBD 很好用。
dbops可以做什么?
1. 部署前环境检查和设置
2. 并发地部署多个 MySQL 实例
3. 支持或不支持以下系统的架构的部署
4. 支持xtrabackup、mysqlshell等工具部署
5. 支持5.7升级到8.0自动化
6. 支持部署的规范化
后期可能会支持更多的开源高可用架构方案: orchestrator、keepalived主从、keepalived双主
读写分离架构方案: proxysql
监控工具方案: PMM2
备份+演练方案:backupops(也是基于playbook自研)
什么人适合阅读或使用这个项目?
- 想学习编写 ansible-playbook 的人
- 想学习规范化部署 MySQL 的人(包括目录规范、参数规范等)
- 不知道怎么部署 MHA 的人
- 不知道如何升级 MySQL8.0 的人
- 想用这个开源项目改造成自己的自动化部署工具的人
- 需要在国产操作系统欧拉、龙蜥上部署MySQL的人
开源仓库地址,目前还很多 bug,欢迎来 stars 和提 issues:
https://gitee.com/fanderchan/dbops
更详细的内容,见飞书文档,持续更新:
https://k49r1gqq90.feishu.cn/docx/RgXPdLx4Wod4BWxuQMucQ5yTnMb