TiDB 集群在 Kubernetes 上使用 TiDB Operator 部署指南

1. 环境准备
  • Kubernetes 集群:版本 ≥ 1.16(推荐 1.18+),需启用 CRDStorageClass 功能
  • 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 集群的自动化部署。建议参考官方文档调整参数优化性能。

更多推荐