-
Notifications
You must be signed in to change notification settings - Fork 499
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] AutoScaling For TidbCluster #1651
Comments
We welcome everyone to help to realize the |
Currently, the auto-scaling is under alpha feature.
To achieve Production ready:
|
Here describes How the auto-scaling algorithm work by average CPU load. |
After #1731 merged, we would have auto-scaling ability based by cpu load feature under alpha stage.
|
Syncing the replicas between online configuration and local configuration is always the problem after we use autoscaler ( or hpa), this issue request the new feature to solve this problem. |
To improve the user-experience, we should enhance the information by executing kubectl get tidbclusterautoscaler Ref: |
Currently, we have released Auto-scaling as an alpha feature in operator 1.1 version which based on the cpu load. After that, we would start to focus on the following 3 things:
The e2e test should also be completed. |
We are happy to announce that the auto-scaling is going to have the external strategy ability that exposes the http interface to let community user could use their own auto-scaling strategy (like predicting strategy by AI) to affect to tidbcluster auto-scaling. For more detail, see: #2279 |
|
Description
Describe the feature you'd like:
TiDB-Operator
is going to supportAuto-scaling
feature forTiKV
andTiDB
inTidbCluster
.Auto-scaling
would help the Operator users to auto-scale out/in for theTiKV
andTiDB
for theTiDBCluster
by the metrics / value / resources which the users could provide. This issue is to discuss and track the whole process of theAuto-scaling
design and realization.First, I think there are some prerequisites to the
Auto-Scaling
forTidbClusters
:TidbCluster
is sensitive to the scaling as the distributed databases, we should have the ability to control the whole auto-scaling process.Auto-scaling
need theTidbCluster
metrics info to decide the recommended numbers of TiKV and TiDB. In the future, thePlatform
information (Kubernetes) or the external global metrics/values are also necessary.Operator
could manager several clusters in one Kubernetes. We should provide the cluster level control ability and Interval duration is also important to avoid performance jitter.Auto-Scaling Design
To support this feature and meet the prerequisites, the
Auto-scaling
is designed to create one new API (TidbClusterAutoScaler
) and one new ControllerAutoScaler
Controller.TidbClusterAutoScaler
is kind of like HPA. The Operator users could use it to auto-scale in/out theTidbCluster
by their own demands configured in theTidbClusterAutoScaler
Spec.The
AutoScaler
Controller would watch theTidbClusterAutoScaler
and reconcile it to adjust the replicas inTidbCluster
.Category
Auto-Scaling
TODO List
spec.xxxx.external
is configured sync tidbautoscaler whenspec.xxxx.external
is configured #3158Workload Estimation (P0 features)
45
Time
GanttStart: 2020-07-13
GanttDue: 2020-09-30
Documentations
Project
The text was updated successfully, but these errors were encountered: