Updated August 24, 2026
A node pool is a group of identical workers: same node plan, same Kubernetes labels and taints. A cluster has 1+ pools with 2–20 nodes each; the platform keeps a minimum of 2 workers per cluster.
- Labels and taints set on a pool are applied to its nodes automatically (and re-applied if a node is replaced). Use them to steer workloads: e.g. taint a dedicated pool and tolerate it only from your database pods.
node_count vs actual_node_count — the target vs what currently exists; they differ briefly while scaling.
- Scale-down is drain-first: newest nodes go first, each cordoned and drained honouring PodDisruptionBudgets, never force-deleted. A node that can’t be emptied within 10 minutes stops the operation with the reason on the pool.
Autoscaling rules
Enable per pool with min/max bounds — from the pool’s Edit autoscale control or at creation:
The autoscaler runs every 5 minutes and uses the same rules as the Kubernetes Cluster Autoscaler:
- Scale up: a pod has been unschedulable for lack of CPU or memory for at least 1 minute. The autoscaler checks the pod against the pool’s nodes (labels, taints, whether it fits one node) and adds the number of nodes the pending pods need, up to 3 per action. A pod that cannot fit any node — requests larger than the node plan, or constraints no pool matches — does not trigger scaling; it is reported in the Activity feed.
- Scale down (−1 node): a node’s pods request less than 50% of its CPU and memory for 10 minutes, and those pods fit on the remaining nodes. The least-utilized such node is removed through the same drain-first path. Decisions use requested resources, not live usage, because the scheduler places pods by requests.
- Bounds: a pool outside its min/max (for example after a manual change) is scaled back inside automatically.
- Cooldown: scale-up acts immediately. Scale-down waits at least 10 minutes after any autoscale action, so a node added for load is not removed before pods are scheduled onto it. Every action is recorded in the Activity feed with its reason.
On subscription-billed clusters, autoscaled nodes above the committed base are metered hourly as overage — the subscription price itself never changes from autoscaling. Last modified on August 24, 2026