pingcap / pingcap/tidb-operator

Support deploying one TiDB Cluster across multiple regions or data centers

Open
#2,816 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/multicluster priority:P1 status/discussion-wanted status/help-wanted
Dominant language
Go
Stars
1.3k
Forks
540
Avg merge
3d 2h
Merged PRs (30d)
18

Description

Description

Several users request the ability to deploy TiDB Clusters across multiple Kubernetes clusters that deployed in different regions or data centers to achieve HA in region or data center level.
In addition, users can also deploy applications in different regions/data centers to access the TiDB/TiKV Pods in the local region/data center to reduce the latency.

Category

Feature

Value

  • Achieve HA in the region or data center level
  • Reduce the latency of cross-region access

TODO list

  • P0 features

  • Support configuring cluster domain in the TidbCluster CR #2929

  • Create headless for discovery #2930

  • Support configuring Discovery address in the TidbCluster CR #2933

  • P1 features

  • TLS Support for across Kubernetes deployment #2934

  • Support failover for across Kubernetes clusters deployment #2935

  • Monitoring aggregation for the TidbClusters deployed across Kubernetes clusters #3118

  • e2e for across Kubernetes clusters deployment #3510

  • P2 features

  • Docs for across Kubernetes clusters deployment #2936

  • P3 features

  • Docs for across Kubernetes clusters deployment on EKS #3175

  • Docs for across Kubernetes clusters deployment on GKE #3176

  • Deploy heterogeneous cluster across Kubernetes clusters https://github.com/pingcap/tidb-operator/issues/3169

  • Consider introducing a federated TidbCluster CR for the management of the different CRs in different Kubernetes cluster.

  • Failover if one Kubernetes cluster is down

Workload Estimation

60

Time

DevProgress: 45%
QAProgress: 0%
DocProgress: 0%

GanttProgress: 20%
GanttStart: 2020-07-13
GanttDue: 2020-12-30

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the unchecked TODO items, especially monitoring aggregation in #3118, federated TidbCluster CR management, and failover when a Kubernetes cluster is down. Review the completed cross-cluster deployment and e2e work referenced in the issue to understand the existing scope. Done means the remaining multi-region capabilities are implemented and validated across Kubernetes clusters.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
devops, distributed-systems, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.