live wire
AI · Red Hat documents usage-based admission fair sharing for Kueue 1.4 on OpenShiftRed Hat DeveloperAI: Red Hat maps governed firewall changes from ServiceNow through Ansible and two human approval gatesRed Hat DeveloperCLUSTER MGMT · ACM 2.17 makes Submariner 0.24 GA with Important-rated fixesRed Hat ErrataPLATFORM · Red Hat makes on-premises Lightspeed recommendations GA for Satellite 6.18Red Hat ErrataSECURITY · Red Hat Hardened Images updates Tomcat 10 for nine authentication, access-control and DoS flawsRed Hat ErrataAI · Open Data Hub 3.6.0 EA1 bundles Trainer, MLflow and llm-d componentsOpen Data HubAI · Speculators 0.6.0 adds P-EAGLE parallel drafting for vLLM speculative decodingRed Hat DeveloperSECURITY · OpenShift 4.17.57 fixes seven Go and TLS CVEs in an Important-rated updateRed Hat ErrataAI · Red Hat benchmarks local LLM guardrails with EvalHub, exposing regex accuracy and latency trade-offsRed Hat DeveloperAI · Red Hat maps silent tool-call failures across agentic pipelinesRed HatAPI · Kuadrant 1.5.3 adds GRPCRoute policies and developer-portal API-key workflowsKuadrantAI · (Aug 25) IBM releases Apache-2.0 Granite 4.2 reasoning models in 3B, 8B and 30B sizesIBM ResearchJAVA · Red Hat build of Quarkus 3.33.3.SP1 fixes 13 CVEs in an Important-rated updateRed Hat errataAI · vLLM moves Kimi K2 RL weight sync across 384 H100s in 7.53 seconds (Aug 22)vLLMAI · Red Hat documents usage-based admission fair sharing for Kueue 1.4 on OpenShiftRed Hat DeveloperAI: Red Hat maps governed firewall changes from ServiceNow through Ansible and two human approval gatesRed Hat DeveloperCLUSTER MGMT · ACM 2.17 makes Submariner 0.24 GA with Important-rated fixesRed Hat ErrataPLATFORM · Red Hat makes on-premises Lightspeed recommendations GA for Satellite 6.18Red Hat ErrataSECURITY · Red Hat Hardened Images updates Tomcat 10 for nine authentication, access-control and DoS flawsRed Hat ErrataAI · Open Data Hub 3.6.0 EA1 bundles Trainer, MLflow and llm-d componentsOpen Data HubAI · Speculators 0.6.0 adds P-EAGLE parallel drafting for vLLM speculative decodingRed Hat DeveloperSECURITY · OpenShift 4.17.57 fixes seven Go and TLS CVEs in an Important-rated updateRed Hat ErrataAI · Red Hat benchmarks local LLM guardrails with EvalHub, exposing regex accuracy and latency trade-offsRed Hat DeveloperAI · Red Hat maps silent tool-call failures across agentic pipelinesRed HatAPI · Kuadrant 1.5.3 adds GRPCRoute policies and developer-portal API-key workflowsKuadrantAI · (Aug 25) IBM releases Apache-2.0 Granite 4.2 reasoning models in 3B, 8B and 30B sizesIBM ResearchJAVA · Red Hat build of Quarkus 3.33.3.SP1 fixes 13 CVEs in an Important-rated updateRed Hat errataAI · vLLM moves Kimi K2 RL weight sync across 384 H100s in 7.53 seconds (Aug 22)vLLM
upstreambeat.ai
guidePLATFORM

Red Hat uses KEDA to scale OpenShift MachineSets before pods pile up

A new engineering walkthrough targets MachineSets directly from Prometheus signals, with explicit RBAC and a warning not to let two autoscalers compete.

OpenShift MachineSet scales from one to three nodes using Prometheus-driven KEDA.
Side by side: what changed
By The News Desk· Sep 1, 2026the quick take — two AI hosts, this story only

Red Hat has documented a metrics-driven alternative to the OpenShift Cluster Autoscaler: use the Custom Metrics Autoscaler Operator, Red Hat’s supported KEDA distribution, to scale an individual MachineSet from a Prometheus query.

The engineering walkthrough is aimed at infrastructure teams that want capacity to follow a custom signal before unschedulable pods become the trigger. It includes the operator subscription, RBAC, Prometheus authentication, a KEDA ScaledObject and a tested one-to-three-node scale-up.

How the pattern works

The target is an OpenShift MachineSet, not a pod-owning workload. KEDA queries the in-cluster Thanos endpoint for CPU requests and allocatable CPU on nodes belonging to that MachineSet. The demonstration multiplies utilization percentage by the current node count, then lets the HPA path calculate desired replicas with ceil(metric / threshold).

That workaround matters because metricType: Value expects the scale target to resolve ready pods. A MachineSet has no pods of its own, so the article reports that path failing with “no pods returned by selector.” The example instead uses AverageValue and embeds the replica factor in PromQL.

The required permissions are broader than a normal application autoscaler. The KEDA operator receives permission to read and patch machinesets and machinesets/scale. A separate service account receives monitoring-view access and a bearer token for the Thanos querier.

The operational boundary

Red Hat is explicit about the conflict condition: a MachineAutoscaler must not manage the same MachineSet. Cluster Autoscaler and KEDA should not compete for that target. That makes this a choice of control loop per MachineSet, not an extra autoscaler to layer on without coordination.

The test configures a minimum of one and maximum of three workers, with a 75% threshold and a 30-second polling interval. Nine one-CPU pods fill the nodes in stages. In the observed run, the metric caused the MachineSet to move from one to two replicas, then two to three; all nine pods eventually reached Running across the three workers.

When the approach fits

The pattern is useful when a platform team has an external or custom metric that represents future scheduling pressure better than pending pods do. It also exposes the costs clearly: operators must own the PromQL formula, grant cluster-level scaling access and verify that no other controller owns the same MachineSet.

Red Hat plans a follow-up comparison with the built-in Cluster Autoscaler. Until then, this walkthrough is best read as a reproducible alternative for selected MachineSets, not a blanket replacement for cluster-wide autoscaling.

Filed by The News Desk. Corrections: desk@upstreambeat.ai · Our standards →

comments · 0

    Comments are moderated before they appear. Your email is used once to confirm it is you — never shown, never sold. Corrections and questions get an answer from the desk when we have one.