Skip to main content

k8s-pod-foamtree

k8sfoams logo

k8sfoams is a local, read-only dashboard that answers one question: where is my cluster's requested CPU and memory actually going, and how much room is left on each node?

It visualizes resource requests — what the scheduler reserves — not live usage. That makes it a tool for spotting over-requesting pods and idle headroom, not a performance monitor. It runs on your laptop, reads ~/.kube/config (or $KUBECONFIG) with the standard Kubernetes client, and needs no in-cluster deployment and no metrics-server.

Documentation · Live demo — the real dashboard on synthetic clusters, in your browser.

k8sfoams walkthrough on synthetic data: the 2D map, workload highlighting, grouping by zone, node health, audit, QoS, drain and fit simulations, the 3D view and GPUs

A one-minute tour on the synthetic demo clusters — run it yourself with k8sfoams --synthetic.

Features

  • 2D map and 3D cubes of every node and pod, sized by requests.
  • Node health: free capacity on cordoned, NotReady, pressured or tainted nodes is hatched, because it is not really free.
  • Topology: group nodes by zone, region, node pool, instance type or spot / on-demand.
  • Audit & hygiene: missing requests or limits, monoliths, naked pods, single replicas, replicas sharing one node, zone or spot pool.
  • QoS & eviction risk: color pods by QoS class.
  • Scheduling simulators: "Can I fit this pod?", "What happens if I drain this node?", "Which nodes could be removed?", "Can I scale this workload by N replicas?" and "Do the pending pods fit?", with hypothetical nodes to try node shapes before you add them.
  • Filtering: a query bar that highlights matching pods by namespace, label, QoS, node, topology or finding.
  • Extended resources: GPUs, ephemeral storage and HugePages, with fragmentation and stranded devices.
  • Export to PNG, SVG, JSON or CSV, and shareable links to any view.
  • Live updates from a watch cache, so scaling a Deployment shows up within seconds.

Installation

pip install k8sfoams
# or with uv
uv pip install k8sfoams

To install from source, see Getting started.

Run

k8sfoams              # your kubeconfig contexts, at http://127.0.0.1:8080
k8sfoams --synthetic  # no cluster needed: generated demo clusters that keep changing

Switching context in the dashboard never modifies your kubeconfig. See the command-line reference for every option and Synthetic mode for what the demo clusters contain.

Development

make restore_dev     # install with dev dependencies
make run-synthetic   # build the UI and run on the synthetic clusters
make tests           # type checking, linting, security, unit tests
make docs-serve      # the docs site with live reload

See Development for the frontend build, the docs and the CI targets.

Metadata

Release files for k8sfoams 1.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for k8sfoams 1.14.0
File Size Uploaded Provenance Actions
k8sfoams-1.14.0.tar.gz 410.5 kB Without provenance Details for k8sfoams-1.14.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for k8sfoams 1.14.0
File Interpreter ABI Platform Actions
k8sfoams-1.14.0-py3-none-any.whl Python 3 none any Details for k8sfoams-1.14.0-py3-none-any.whl

Total release size: 799.6 kB

Release files / k8sfoams-1.14.0.tar.gz

Download URL k8sfoams-1.14.0.tar.gz
Size 410.5 kB
Tags Source
SHA-256 checksum
How to use checksums
b68ad21b09525b6fe4133ab716064caf9b3f8242ab6a0dcf701e7c5979f4a23f
BLAKE2b-256 checksum
How to use checksums
a353b0756de4fc479a444d4817b4f038ecad2dda8da10b08b1f9f2920ed5e90c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Release files / k8sfoams-1.14.0-py3-none-any.whl

Download URL k8sfoams-1.14.0-py3-none-any.whl
Size 389.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
48bf55032866fc480c283d87e8eca70be72fcc7a969c43dc595bcaed10a7bf34
BLAKE2b-256 checksum
How to use checksums
a08f366d36c914baed5d01790932dd2b40c7eaf2d85e2bdfa7069f8611c8630d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.22

Security for k8sfoams 1.14.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page