k8s-pod-foamtree
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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.