IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    PingCAP tidb-ansible 源码阅读

    Yiran\'s Blog发表于 2019-04-20 11:50:41
    love 0
    了解我的同学应该知道,我目前负责公司产品的运维工具开发相关的工作,作为一款 2B 的产品,在产品运维过程中,总是有一些不愉快(又不能让客户知道)的繁琐操作:这些操作可能是为了防止过程中出现错误,而不断添加的检测条件;也有可能是历史问题,随着产品发布迭代而一直遗留至今。 所以我平时也在关注一些开源的 2B 产品的配套运维工具,比如 ZStack、PingCAP 之类的公司。 但是 ZStack 的开源生态不是很好,感觉只是在保持代码更新(不知道哪个分支)的状态。相比之下 PingCAP 就好很多了,可以很直接的从文档中看到差别,而且社区很活跃。 最近看到 PingCAP 的一个关于部署维护的 视频讲解 ,可能时间有限,并没有很深入的讲解细节,有兴趣的同学可以看下。 在讲解过程中,一个比较核心的工具就是 Ansible,通过 Ansible Playbook 来定义各个步骤,我最近也在使用 Ansible 来进行二次开发,特此学习下 PingCAP 的 tidb-ansible 。 安装方式 链接到标题 TiDB 目前支持 4 种安装方式: Ansible Online Ansible Offline Docker Docker compose 其中最佳实践应该是 Ansible Online 方式,通过控制机联网下载所需依赖及 TiDB binary 文件。当然如果所在环境无法访问互联网,那么只能采用 Offline 方式了。后两种部署方式,感觉只是用于开发测试或者给用户“看看”的情况。 如果要学习的话肯定要学习最佳实践了,那么我们来看看 Ansible Online 方式。 环境准备 链接到标题 TiDB 作为一个 开源分布式关系型数据库 ,所需要的物理环境是很比较苛刻的,官方最佳实践的需求如下: 组件 CPU 内存 硬盘类型 网络 数量(最低要求) TiDB 16 32GB SAS 10GbE * 2 2 PD 4 8GB SSD 10 GbE * 2 3 TiKV 16 32GB SSD 10 GbE * 2 3 监控 8 16GB SAS 1GbE * 1 1 对于 CPU、内存和磁盘的要求我们暂时忽略,这里注意网卡数量都是推荐的 2 块网卡,应该是会做 bonding,到时候看下代码中是否处理。


沪ICP备19023445号-2号
友情链接