Skip to the content.

Balloons Policy

The Balloons policy groups containers into CPU pools called balloons. A container runs on the CPUs of its balloon, optionally on free CPUs outside balloons, but never on CPUs of other balloons. Each balloon can be tuned on its own: how many CPUs, at what frequency, which C-states, how they are scheduled, and which devices they sit close to.

Reach for Balloons when you need explicit control over how groups of workloads share a node. For automatic alignment with no per-workload setup, see Topology-aware instead.

A balloon can hold containers of any QoS class: BestEffort, Burstable, or Guaranteed. Its tuning (frequency, C-states, Priority Core Turbo (PCT), IRQ affinity, scheduling) applies to all of them. This is a key difference from Topology-aware, whose CPU tuning, PCT, and IRQ affinity apply only to Guaranteed containers with exclusive CPUs.

What it solves

Each item below is a common host-level tuning task and where Balloons handles it in Kubernetes. Follow the links for the configuration.

Try it

The upstream PCT quick start is the fastest hands-on path and shows a measurable difference between tuned and untuned pods. For a local isolation example, see the quick start in this section.

Reference

Full configuration, all balloon and CPU-class fields, and more recipes are in the upstream Balloons documentation.