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?" and "What happens if I drain this node?".
  • 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.13.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.13.0
File Size Uploaded Provenance Actions
k8sfoams-1.13.0.tar.gz 365.8 kB Without provenance Details for k8sfoams-1.13.0.tar.gz

Built distribution (wheel)

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

Total release size: 721.1 kB

Release files / k8sfoams-1.13.0.tar.gz

Download URL k8sfoams-1.13.0.tar.gz
Size 365.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8389a1f46b2420a9eda3cae32823015aef81a63802f43f8d027bac2dbeb95bd4
BLAKE2b-256 checksum
How to use checksums
36bfb6fa3e8b9314ee50d4f67cb4c9fba5e890f0980c9540c780da6ace1ca776
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.13.0-py3-none-any.whl

Download URL k8sfoams-1.13.0-py3-none-any.whl
Size 355.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f829af481d70798e17e8b78fe405f2ded4b56fccb7ae011ab9727507ce5825d
BLAKE2b-256 checksum
How to use checksums
8bc51ce52246b0fd8a54d6302c650c35b36faf9d18f6aceb9be7488555b5cd88
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.13.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