TiDB x KubeBlocks 集成案例
TiDB 不止可以运行在 OP 也可以运行在各种云上,或者可以直接选择 TiDB Cloud。
但是很多企业也会选择自建云或者自建容器池,比如,Amazon EKS, Google Cloud GKE, Azure AKS 或者自托管的 Kubernetes。
今天介绍一位 TiDB 的新朋友,一款可在 k8s 上运行和管理数据库的开源控制平台:KubeBlocks
TiDB 介绍
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
与传统的单机数据库相比,TiDB 具有以下优势:
- 纯分布式架构,拥有良好的扩展性,支持弹性的扩缩容
- 支持 SQL,对外暴露 MySQL 的网络协议,并兼容大多数 MySQL 的语法,在大多数场景下可以直接替换 MySQL
- 默认支持高可用,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明
- 支持 ACID 事务,对于一些有强一致需求的场景友好,例如:银行转账
- 具有丰富的工具链生态,覆盖数据迁移、同步、备份等多种场景
KubeBlocks 介绍
KubeBlocks 是基于 Kubernetes 的云原生数据基础设施,将顶级云服务提供商的大规模生产经验与增强的可用性和稳定性改进相结合,帮助用户轻松构建容器化、声明式的关系型、NoSQL、流计算和向量型数据库服务。
KubeBlocks 的名字源自 Kubernetes(K8s)和乐高积木,致力于让 K8s 上的数据基础设施管理就像搭乐高积木一样,既高效又有趣。
主要功能有:
- 支持多云,与 AWS、GCP、Azure、阿里云等云平台兼容。
- 支持 MySQL、PostgreSQL、TiDB 等 32 个主流数据库和流计算引擎。
- 提供生产级性能、弹性、可扩展性和可观察性。
- 简化 day-2 操作,例如升级、扩展、监控、备份和恢复。
- 包含强大且直观的命令行工具。
- 仅需几分钟,即可建立一个适用于生产环境的完整数据基础设施。
KubeBlocks 可以帮助用户轻松构建关系型、NoSQL、流计算和向量型数据库服务,目前已支持 30 余种数据库引擎,比如 TiDB。
KubeBlocks 环境准备
1. 操作系统
推荐在 Rocky Linux 9 操作系统进行部署测试,CentOS 7 的内核版本太低了。
[root@shawnyan ~]# cat /etc/redhat-release
Rocky Linux release 9.3 (Blue Onyx)
[root@shawnyan ~]# uname -r
5.14.0-362.13.1.el9_3.x86_64