From 3e6e301c7a177a6c736bb3fab6a6ebb2ffdb0dcd Mon Sep 17 00:00:00 2001 From: ialexeze Date: Wed, 13 May 2026 04:30:17 +0000 Subject: [PATCH 1/3] fix autoscaler issues: formalize computation for max queue depth --- .../cc/assets/templates/crd.html | 124 ++++++++++-- cmd/controlcenter/cc/client.go | 1 + cmd/controlcenter/cc/types.go | 3 + cmd/internal/banner.go | 4 +- cmd/internal/konstructor.go | 8 +- docs/profiles/autoscale-profile.md | 118 +++++++---- .../01-based-on-own-metrics/load.sh | 11 -- .../01-without-autoscaler/README.md | 115 +++++++++++ .../cleanup.sh | 2 +- .../cr.yaml | 0 .../crd.yaml | 0 .../01-without-autoscaler/katalog.yaml | 38 ++++ .../01-without-autoscaler/load.sh | 122 ++++++++++++ .../02-based-on-own-metrics/README.md | 140 +++++++++++++ .../02-based-on-own-metrics/cleanup.sh | 11 ++ .../02-based-on-own-metrics/cr.yaml | 8 + .../02-based-on-own-metrics/crd.yaml | 43 ++++ .../katalog.yaml | 2 + .../02-based-on-own-metrics/load.sh | 122 ++++++++++++ .../03-sibling-in-binary/README.md | 186 ++++++++++++++++++ .../03-sibling-in-binary/cleanup.sh | 16 ++ .../03-sibling-in-binary/cr-auditor.yaml | 7 + .../03-sibling-in-binary/cr-loader.yaml | 8 + .../03-sibling-in-binary/cr-processor.yaml | 8 + .../03-sibling-in-binary/crd-auditor.yaml | 43 ++++ .../03-sibling-in-binary/crd-loader.yaml | 46 +++++ .../03-sibling-in-binary/crd-processor.yaml | 49 +++++ .../katalog.yaml | 45 +++-- .../12-autoscale/03-sibling-in-binary/load.sh | 122 ++++++++++++ pkg/autoscaler/autoscale_worker_info.go | 18 +- pkg/autoscaler/autoscaler.go | 4 +- pkg/informer/type.go | 2 +- pkg/katalog/autoscale_profile_types.go | 83 ++++++++ pkg/katalog/autoscaler_profile.go | 117 ++++++----- pkg/katalog/autosclaer_profile_test.go | 6 +- pkg/katalog/validate.go | 14 +- pkg/katalog/validation_autoscale.go | 6 +- pkg/konfig/konfig.go | 10 +- pkg/konfig/type.go | 10 +- pkg/kordinator/crd_health_handers.go | 64 ++++-- pkg/kordinator/dependency_kordinator.go | 4 +- pkg/reconciler/generic.go | 6 +- pkg/reconciler/generic_autoscale.go | 3 +- pkg/types/autoscale.go | 6 +- pkg/types/methods.go | 10 + 45 files changed, 1574 insertions(+), 191 deletions(-) delete mode 100755 examples/advanced/12-autoscale/01-based-on-own-metrics/load.sh create mode 100644 examples/advanced/12-autoscale/01-without-autoscaler/README.md rename examples/advanced/12-autoscale/{01-based-on-own-metrics => 01-without-autoscaler}/cleanup.sh (83%) rename examples/advanced/12-autoscale/{01-based-on-own-metrics => 01-without-autoscaler}/cr.yaml (100%) rename examples/advanced/12-autoscale/{01-based-on-own-metrics => 01-without-autoscaler}/crd.yaml (100%) create mode 100644 examples/advanced/12-autoscale/01-without-autoscaler/katalog.yaml create mode 100755 examples/advanced/12-autoscale/01-without-autoscaler/load.sh create mode 100644 examples/advanced/12-autoscale/02-based-on-own-metrics/README.md create mode 100755 examples/advanced/12-autoscale/02-based-on-own-metrics/cleanup.sh create mode 100644 examples/advanced/12-autoscale/02-based-on-own-metrics/cr.yaml create mode 100644 examples/advanced/12-autoscale/02-based-on-own-metrics/crd.yaml rename examples/advanced/12-autoscale/{01-based-on-own-metrics => 02-based-on-own-metrics}/katalog.yaml (97%) create mode 100755 examples/advanced/12-autoscale/02-based-on-own-metrics/load.sh create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/README.md create mode 100755 examples/advanced/12-autoscale/03-sibling-in-binary/cleanup.sh create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/cr-auditor.yaml create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/cr-loader.yaml create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/cr-processor.yaml create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/crd-auditor.yaml create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/crd-loader.yaml create mode 100644 examples/advanced/12-autoscale/03-sibling-in-binary/crd-processor.yaml rename examples/advanced/12-autoscale/{02-sibling-in-binary => 03-sibling-in-binary}/katalog.yaml (80%) create mode 100755 examples/advanced/12-autoscale/03-sibling-in-binary/load.sh create mode 100644 pkg/katalog/autoscale_profile_types.go diff --git a/cmd/controlcenter/cc/assets/templates/crd.html b/cmd/controlcenter/cc/assets/templates/crd.html index 5bd06d86..7e781ac7 100644 --- a/cmd/controlcenter/cc/assets/templates/crd.html +++ b/cmd/controlcenter/cc/assets/templates/crd.html @@ -137,7 +137,7 @@
Queue
{{ .CRD.QueueDepth }}
-
Max: {{ .CRD.MaxQueueDepth }}
+
Limit: {{ .CRD.MaxQueueDepth }}
Reconciles
@@ -165,10 +165,13 @@

Worker Pool

- {{ .CRD.WorkersProcessing }} of {{ .CRD.Workers }} workers actively processing + {{ .CRD.WorkersProcessing }} of {{ .CRD.WorkersActive }} workers actively processing + {{ if ne .CRD.WorkersActive .CRD.Workers }}(scaled from {{ .CRD.Workers }}){{ end }}
-
+ {{ if gt .CRD.WorkersActive 0 }} +
+ {{ end }}
@@ -231,7 +234,7 @@

Worker Pool

- {{ if .CRD.AutoscalerEnabled }} + {{ if and .CRD.AutoscalerEnabled .CRD.AutoscalerWorkers }} {{ $aw := .CRD.AutoscalerWorkers }}
@@ -275,26 +278,110 @@

-