在 Kubernetes 上部署 TiCDC
优质
小牛编辑
128浏览
2023-12-01
TiCDC 是一款 TiDB 增量数据同步工具,本文介绍如何使用 TiDB Operator 在 Kubernetes 上部署 TiCDC。
前置条件
- TiDB Operator 部署完成。
全新部署 TiDB 集群同时部署 TiCDC
参考 在标准 Kubernetes 上部署 TiDB 集群进行部署。
在现有 TiDB 集群上新增 TiCDC 组件
编辑 TidbCluster Custom Resource:
kubectl edit tc ${cluster_name} -n ${namespace}
按照如下示例增加 TiCDC 配置:
spec: ticdc: baseImage: pingcap/ticdc replicas: 3
值得注意的是,如果需要部署企业版的 TiCDC,需要将 db.yaml 中
spec.ticdc.baseImage
配置为企业版镜像,格式为pingcap/ticdc-enterprise
。例如:
spec: ticdc: baseImage: pingcap/ticdc-enterprise
部署完成后,通过
kubectl exec
进入任意一个 TiCDC Pod 进行操作。kubectl exec -it ${pod_name} -n ${namespace} sh
然后通过
cdc cli
进行管理集群和同步任务。/cdc cli capture list --pd=http://${cluster_name}-pd:2379
[ { "id": "6d92386a-73fc-43f3-89de-4e337a42b766", "is-owner": true }, { "id": "b293999a-4168-4988-a4f4-35d9589b226b", "is-owner": false } ]
TiCDC 从 v4.0.3 版本开始支持 TLS,TiDB Operator v1.1.3 版本同步支持 TiCDC 开启 TLS 功能。
如果在创建 TiDB 集群时开启了 TLS,使用
cdc cli
请携带 TLS 证书相关参数:/cdc cli capture list --pd=https://${cluster_name}-pd:2379 --ca=/var/lib/cluster-client-tls/ca.crt --cert=/var/lib/cluster-client-tls/tls.crt --key=/var/lib/cluster-client-tls/tls.key
如果服务器没有外网,请参考 部署 TiDB 集群 在有外网的机器上将用到的 Docker 镜像下载下来并上传到服务器上。