- 关于 TiDB Operator
- Kubernetes 上使用 TiDB Operator 快速上手
- 部署
- 安全
- 运维
- 灾难恢复
- 使用 TiDB Lightning 恢复 Kubernetes 上的集群数据
- 故障诊断
- Kubernetes 上的 TiDB 集群常见问题
- 参考
在 Kubernetes 上部署 TiFlash
本文介绍如何在 Kubernetes 上部署 TiFlash。
前置条件
- TiDB Operator 部署完成。
全新部署 TiDB 集群同时部署 TiFlash
参考 在标准 Kubernetes 上部署 TiDB 集群进行部署。
在现有 TiDB 集群上新增 TiFlash 组件
编辑 TidbCluster Custom Resource:
kubectl edit tc ${cluster_name} -n ${namespace}
按照如下示例增加 TiFlash 配置:
spec:
tiflash:
baseImage: pingcap/tiflash
maxFailoverCount: 3
replicas: 1
storageClaims:
- resources:
requests:
storage: 100Gi
storageClassName: local-storage
其他参数可以参考集群配置文档进行配置。
值得注意的是,如果需要部署企业版的 TiFlash,需要将 db.yaml 中 spec.tiflash.baseImage
配置为企业版镜像,格式为 pingcap/tiflash-enterprise
。
例如:
spec:
tiflash:
baseImage: pingcap/tiflash-enterprise
TiFlash 支持挂载多个 PV,如果要为 TiFlash 配置多个 PV,可以在 tiflash.storageClaims
下面配置多项,每一项可以分别配置 storage reqeust
和 storageClassName
,例如:
tiflash:
baseImage: pingcap/tiflash
maxFailoverCount: 3
replicas: 1
storageClaims:
- resources:
requests:
storage: 100Gi
storageClassName: local-storage
- resources:
requests:
storage: 100Gi
storageClassName: local-storage
警告:
由于 TiDB Operator 会按照
storageClaims
列表中的配置按顺序自动挂载 PV,如果需要为 TiFlash 增加磁盘,请确保只在列表原有配置最后添加,并且不能修改列表中原有配置的顺序。
新增部署 TiFlash 需要 PD 配置 replication.enable-placement-rules: "true"
,通过上述步骤在 TidbCluster 中增加 TiFlash 配置后,TiDB Operator 会自动为 PD 配置 replication.enable-placement-rules: "true"
。
如果服务器没有外网,请参考部署 TiDB 集群在有外网的机器上将用到的 Docker 镜像下载下来并上传到服务器上。
不同版本配置注意事项
从 TiDB Operator v1.1.5 版本开始,spec.tiflash.config.config.flash.service_addr
的默认配置从 ${clusterName}-tiflash-POD_NUM.${clusterName}-tiflash-peer.${namespace}.svc:3930
修改为 0.0.0.0:3930
,而 TiFlash 从 v4.0.5 开始需要配置 spec.tiflash.config.config.flash.service_addr
为 0.0.0.0:3930
,因此针对不同 TiFlash 和 TiDB Operator 版本,需要注意以下配置:
- 如果 TiDB Operator 版本 <= v1.1.4
- 如果 TiFlash 版本 <= v4.0.4,不需要手动配置
spec.tiflash.config.config.flash.service_addr
。 - 如果 TiFlash 版本 >= v4.0.5,需要在 TidbCluster CR 中设置
spec.tiflash.config.config.flash.service_addr
为0.0.0.0:3930
。
- 如果 TiFlash 版本 <= v4.0.4,不需要手动配置
- 如果 TiDB Operator 版本 >= v1.1.5
- 如果 TiFlash 版本 <= v4.0.4,需要在 TidbCluster CR 中设置
spec.tiflash.config.config.flash.service_addr
为${clusterName}-tiflash-POD_NUM.${clusterName}-tiflash-peer.${namespace}.svc:3930
。其中,${clusterName}
和${namespace}
需要根据实际情况替换。 - 如果 TiFlash 版本 >= v4.0.5,不需要手动配置
spec.tiflash.config.config.flash.service_addr
。 - 如果从小于等于 v4.0.4 的 TiFlash 版本升级到大于等于 v4.0.5 TiFlash 版本,需要删除 TidbCluster CR 中
spec.tiflash.config.config.flash.service_addr
的配置。
- 如果 TiFlash 版本 <= v4.0.4,需要在 TidbCluster CR 中设置
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论