Rightsize DaemonSets by Node Size Available in v1.26.9+
DaemonSets are Kubernetes workloads that ensure a single pod runs on every node in a cluster. While this model is powerful, it introduces a unique optimization challenge: not all nodes are the same size.
A pod running on a small 4-core node often has very different resource needs than the same pod running on a large 64-core node. Applying a single resource recommendation across all nodes can lead to inefficient and risky outcomes.
DaemonSet Optimization by Node Size solves this problem by generating tailored recommendations based on the size of the node each DaemonSet pod runs on.
Enable DaemonSet rightsizing by node size
Via UI
Starting from Version 1.27.7
Navigate to the Custom Workloads page and click Enable on the DaemonSetNodeSize custom workload.

For Versions Prior to 1.27.7
For versions prior to 1.27.7, enable DaemonSet rightsizing by node size by applying the following CustomOwnerGrouping resource:
apiVersion: analysis.scaleops.sh/v1alpha1
kind: CustomOwnerGrouping
metadata:
name: daemonsetnodesize
namespace: scaleops-system
spec:
defaultAuto: false
displayOptions:
hideGeneratedSuffix: true
fields:
- nodeSize
- ownerName
enabled: true
groupBy:
positiveRegexMatch: false
groupBys:
- nodeSize: true
positiveRegexMatch: true
topOwnerController:
kind: DaemonSetApply this YAML file as-is using kubectl apply:
kubectl apply -f daemonsetnodesize_yaml.yamlVia Helm Available in v1.28.9+
You can enable DaemonSet rightsizing by node size during installation or upgrade via Helm:
--set daemonsetNodeSizeOptimization.enabled=trueDaemonSet rightsizing automation behavior
Upon activation, ScaleOps will automatically conduct the following steps:
- Detect all DaemonSet pods in your cluster
- Group them by their parent DaemonSet and the size of the node they are running on
- Create separate optimization recommendations for each group
Automation behavior
After the feature has been activated, all workloads are available in the Workload Rightsizing page. By default, the automation strategy is Upon pod creation, so the updated request will be applied only during natural disruptions of the pod (can be changed in the policy level).
Workloads grouping, naming and default policies
Once the DaemonSet by size custom workload is enabled, the workloads in the workload rightsizing page will follow these rules:
- A single recommendation (row) will be shown per DaemonSet and Node Size combination.
- For example, for a DaemonSet called
fluent-bitrunning across three different node sizes, you will see these three recommendations:fluent-bit-4core16gibfluent-bit-8core32gibfluent-bit-16core64gib
- For example, for a DaemonSet called
- Nodes are grouped into buckets based on their CPU cores and memory (e.g.,
4core16gib,8core32gib); Nodes with similar sizes are grouped together to prevent the creation of too many small groups. - DaemonSet specific optimization (like the DaemonSet smart policy) continue to work with the feature enabled.