TiDB 集群部署:在 K8s 使用 TiDB Operator 搭建分布式数据库
·
TiDB 集群在 Kubernetes 上使用 TiDB Operator 部署指南
1. 环境准备
- Kubernetes 集群:版本 ≥ 1.16(推荐 1.18+),需启用
CRD和StorageClass功能 - Helm 工具:安装 Helm 3+(包管理器)
- 存储配置:确保有动态存储供应(如 Local PV 或云存储)
- 网络要求:Pod 间互通,开放端口(如 TiDB 的 $4000$ 端口)
2. 安装 TiDB Operator
# 添加 PingCAP Helm 仓库
helm repo add pingcap https://charts.pingcap.org
# 安装 Operator(命名空间 tidb-admin)
helm install tidb-operator pingcap/tidb-operator \
--namespace tidb-admin \
--create-namespace \
--version v1.4.0
验证安装:
kubectl get pods -n tidb-admin -l app.kubernetes.io/instance=tidb-operator
3. 部署 TiDB 集群
创建集群配置文件 tidb-cluster.yaml:
apiVersion: pingcap.com/v1alpha1
kind: TidbCluster
metadata:
name: demo-tidb
namespace: tidb-cluster
spec:
version: v6.1.0
timezone: UTC
pd:
baseImage: pingcap/pd
replicas: 3
storageClassName: local-storage
tikv:
baseImage: pingcap/tikv
replicas: 3
storageClassName: local-storage
tidb:
baseImage: pingcap/tidb
replicas: 2
service:
type: NodePort
应用配置:
kubectl apply -f tidb-cluster.yaml
4. 访问集群
- TiDB 服务:通过 NodePort 访问(端口默认 $30000$-$32768$)
kubectl get svc -n tidb-cluster | grep demo-tidb-tidb - MySQL 客户端连接:
mysql -h <Node_IP> -P <NodePort> -u root
5. **关键组件说明
| 组件 | 作用 | 高可用要求 |
|---|---|---|
| PD | 元数据管理,调度中心 | ≥ 3 节点 |
| TiKV | 分布式存储引擎 | ≥ 3 节点 |
| TiDB | 无状态 SQL 层 | ≥ 2 节点 |
6. 运维操作
- 扩缩容:修改
replicas值后重新apply - 升级版本:更新
spec.version字段 - 监控:部署 TiDB Dashboard
7. 注意事项
- 存储规划:TiKV 需要低延迟 SSD,建议本地 PV
- 资源配额:单个 TiKV Pod 建议 $8$ GB+ 内存
- 网络策略:开启节点间 $2379$/$2380$(PD)和 $20160$(TiKV)端口
部署验证:运行
SELECT VERSION();应返回 TiDB 版本信息,例如:+------------------------------------------+ | VERSION() | +------------------------------------------+ | 5.7.25-TiDB-v6.1.0 ... | +------------------------------------------+
通过以上步骤,可实现生产级 TiDB 集群的自动化部署。建议参考官方文档调整参数优化性能。
更多推荐
所有评论(0)