tidb-operator icon indicating copy to clipboard operation
tidb-operator copied to clipboard

[Enhance] Discard statefulset rollingUpdate update strategies.

Open mikechengwei opened this issue 2 years ago • 5 comments
trafficstars

Feature Request

Is your feature request related to a problem? Please describe: Old discussion issue https://github.com/pingcap/tidb-operator/issues/4130.

I learned from es operator and kafka operator two projects, which all good operator project. They all discard statefulset rollingUpdate update strategies.

ES Operator project related issue: Use OnDelete instead of RollingUpdate to roll more than 1 pod at a time It use ondelete strategies instead of sts rollingupdate strategy.

Kafka Operator project related issue and pr: [Enhancement] Allow scaling down of a pods in the middle of the cluster Remove StatefulSets from ZooKeeper It use custom podset crd instead of sts crd.

Describe the feature you'd like: We should follow the good project, of course take the smallest changes, so i advice that take the ondelete update strategy instead of rollingUpdate strategy and customize tidb operator own update logic.

mikechengwei avatar Jan 28 '23 08:01 mikechengwei

/cc @hanlins @csuzhangxc

mikechengwei avatar Jan 28 '23 09:01 mikechengwei

sounds good. Do you have more ideas about tidb operator own update logic?

csuzhangxc avatar Jan 28 '23 09:01 csuzhangxc

@csuzhangxc Own update logic: 1.A group of pd nodes upgrade only need to evict leader once. 2.Large clusters can update nodes concurrently without affecting the health of the cluster 3.Check that upgrading nodes won't let the cluster into a worse situation 4.No need to maintain the advancests, add advancests feature into union crd.

Others: 1.The operation of pod control is more detailed, and it can complete such as in-place upgrade feature

mikechengwei avatar Jan 29 '23 02:01 mikechengwei

👍 LGTM.

But more explanation about 4.No need to maintain the advancests, add advancests feature into union crd. I think this feature can't replace delete-slots in asts.

csuzhangxc avatar Jan 29 '23 05:01 csuzhangxc

👍 LGTM.

But more explanation about 4.No need to maintain the advancests, add advancests feature into union crd. I think this feature can't replace delete-slots in asts.

yes, you are right. we must use podset crd like kafka operator instead of sts crd, but that change is big. I think it would be better for us to use sts ondelete method.

mikechengwei avatar Jan 29 '23 07:01 mikechengwei