Scale to Minimal Replicas
Use scale to minimal to autoscale most components to zero while leaving the cluster available for API calls and the UI. This feature provides extra cost savings by reducing resources used for idle workloads, while still allowing API interactions and scaling up when needed. This setting is off by default.
Enable or disable scale to minimal⚓︎
To enable scale to minimal, add scale_min: true to the spec section of the Hydrolix configuration.
To return to typical cluster operation, set scale_min: false. The cluster then scales its components back up to the values in its scale profile.
===Enable Scale to Minimal
===Restore typical cluster operation
Active services when scaled to minimal⚓︎
These pods remain active when scale_min: true is set:
traefikacmeuiturbine-apiturbine-api-workerzookeeperkeycloakprometheusvalidatorversionschedulerdescheduler
All other pods scale to zero.
Override resources and replica counts⚓︎
Scale overrides became available for scale to minimal in Hydrolix version 6.1.
When scaling to minimal, per-component resource values set in spec.scale take precedence over the built-ins. For example, set replicas to keep more than the single default replica of an active service while the rest of the cluster scales to zero. Overrides apply only to the services that stay active.
A cluster that runs Grafana with scale_min: true serves users continuously, so the services on the path to Grafana need more than one replica.
This example runs two Traefik replicas, so users can reach Grafana while one replica restarts:
Overrides work the same way for resource settings such as cpu and memory. See Scale by Component for the available settings.
Disable the Grafana Hydrolix data source⚓︎
This tunable was introduced in Hydrolix version 6.1.
In-cluster Grafana provisions a data source named Hydrolix - Local that reaches the cluster through http-proxy. No query components run when scale_min: true is set, so this data source can't return results. Set grafana_config.datasources.hydrolix_enabled to false to skip provisioning it:
| Disable the Hydrolix Data Source | |
|---|---|
Hydrolix provisions exactly one Hydrolix data source, named Hydrolix - Local. Setting this tunable to false removes that data source when the operator rolls out the configuration change, and leaves any data sources added by hand in place. Grafana can still query those and the in-cluster Prometheus, which the separate grafana_config.datasources.prometheus_enabled tunable controls.
Cluster logs when scaled to minimal⚓︎
This behavior changed in Hydrolix version 6.1.
Vector collects cluster logs and sends them to a local sink at logs_sink_local_url, which lands them in the hydro.logs table. Setting scale_min: true stops both halves of this. Vector doesn't run, because enable_vector defaults to off whenever a cluster is scaled off or scaled to minimal. The operator also omits the local sink, because the intake components that receive those logs scale to zero.
To collect cluster logs while scaled to minimal, run Vector explicitly and send the logs to a remote sink:
| Collect Logs While Scaled to Minimal | |
|---|---|
See Logging Configuration for the full set of log destination settings.