A modern, split-pane Kubernetes Pod Health & Log Viewer.
KubectleNav is a lightweight GUI tool for developers and SREs to monitor pod health and stream logs in real-time. It replaces the traditional "dropdown ritual" with a reactive dashboard that provides instant visibility into pod health.
- Split-Pane Dashboard: Keep an eye on pod statuses on the left while streaming logs on the right.
- 1-Click Streaming: Simply click a pod card to immediately populate containers and start logs.
- Health Indicators: Color-coded status dots and left bars for rapid scanning (Running, Pending, Degraded, CrashLoop).
- Resource Visualization: Live CPU and Memory usage bars for every pod (using
kubectl top). - Quick Actions: Context-aware buttons for failure states (View Previous Logs, Filter Events).
- Auto-Refresh: Status list updates in the background on a configurable interval (30s/60s).
- Clone the repository.
- Install dependencies:
Note: On Linux, ensure
pip install -r requirements.txt
python3-tkis installed. - Run the app:
python main.py
- Build & Install (Linux):
This will bundle the app into a single binary, create a symlink, add it to your PATH, and deploy a Linux Desktop shortcut.
bash build_executable.sh
- Real-time scanning: See which pods are failing without clicking through namespaces.
- Restart Tracking: Badges highlight pods with frequent restarts (Amber 1-4, Red 5+).
- Advanced Filtering: Filter by name (text search) or status (e.g., show only "Warning" pods).
- Live Streaming: Seamlessly follow logs with auto-scroll.
- Search (Ctrl+F): Find specific text or errors within the log output.
- Previous Logs: Recover logs from crashed containers with one click.
- System Metrics: View instantaneous CPU/RAM usage relative to pod limits.
- Collapsible UI: Shrink the summary area to maximize log viewing space.
The project is modularized for easy contribution:
main.py: Entry point.app.py: Logic coordinator and threading.ui/: UI components (TopBar, PodList, LogPanel).kubectl/: Subprocess wrappers and JSON parsers.models.py: Data models (PodInfo).config.py: Persistent user settings (~/.kubectlenav_config.json).
- Python 3.10+ (tested on 3.12)
- kubectl (configured in your PATH)
- metrics-server (optional, required for CPU/MEM bars)
MIT
Made by mochiron-desu