gardener / etcd-druid

An etcd operator to configure, provision, reconcile and monitor etcd clusters.
Apache License 2.0
75 stars 50 forks source link

Add cluster size indicator label to etcd pods #877

Open shreyas-s-rao opened 1 month ago

shreyas-s-rao commented 1 month ago

How to categorize this issue?

/area usability ops-productivity /kind enhancement

What would you like to be added: Druid should add a new label to etcd pods to indicate the cluster size, or whether it's part of a single-node or multi-node cluster.

Why is this needed: This allows for better scheduling decisions by orthogonal schedulers like kupid or kyverno. The label can be named druid.gardener.cloud/etcd-cluster-size: N for example.

unmarshall commented 1 month ago

can you also add what is the gap that you have seen which causes issues when using kupid/kyverno? Also can you adjust your description as these are not really schedulers.

shreyas-s-rao commented 2 weeks ago

The label was not added in #883 , as it breaks certain scheduling decisions when topology spread constraints are orthogonally added to the statefulset without going through the Etcd spec, especially during the scale-up scenario from 1 replica to 3 replicas. This is because, the single-replica pod will have cluster-size=1, while the two new pods that come up upon scale-up, will have label cluster-size=3, since pod-0 is rolled only after the two new pods come up.