k9s — Terminal UI for Managing Kubernetes Clusters in Style
k9s is a powerful terminal-based UI for Kubernetes. Navigate, observe, and manage your clusters with keyboard shortcuts — much faster than kubectl commands.
What it is
k9s is a terminal-based user interface for Kubernetes that lets you navigate, observe, and manage your clusters entirely with keyboard shortcuts. It provides real-time views of pods, deployments, services, logs, and events without typing kubectl commands repeatedly.
k9s targets Kubernetes administrators, SREs, and developers who spend significant time monitoring and debugging clusters. It replaces the cycle of typing kubectl get pods, kubectl logs, kubectl describe with a single interactive interface.
How it saves time or tokens
k9s eliminates the need to type repetitive kubectl commands. Common actions like viewing logs, describing resources, shelling into pods, and deleting resources are all accessible via single keystrokes. The real-time view auto-refreshes, so you do not need to re-run commands to see changes. Resource filtering and search let you find specific pods or services across namespaces instantly.
How to use
- Install k9s:
brew install k9s # macOS
snap install k9s --devmode # Linux
choco install k9s # Windows
- Launch k9s (uses your current kubectl context):
k9s
- Navigate with keyboard shortcuts:
:pods - View pods
:deploy - View deployments
:svc - View services
:ns - Switch namespace
/pattern - Filter resources
l - View logs
d - Describe resource
e - Edit resource YAML
ctrl-d - Delete resource
Example
# Launch with a specific context and namespace
k9s --context production --namespace api
# Launch in read-only mode (no delete/edit)
k9s --readonly
# Launch showing a specific resource type
k9s --command pods
Related on TokRepo
- DevOps Tools — Infrastructure and deployment management tools
- Monitoring Tools — Cluster monitoring and observability
This tool integrates with standard development workflows and requires minimal configuration to get started. It is available as open-source software with documentation and community support through the official repository. The project follows semantic versioning for stable releases.
For teams evaluating this tool, the key advantage is reducing manual work in repetitive tasks. The automation provided by the built-in features means less custom code to maintain and fewer integration points to manage. This translates directly to lower maintenance costs and faster iteration cycles.
Common pitfalls
- k9s uses your current kubectl context and namespace; verify you are connected to the correct cluster before performing destructive operations.
- Custom resource definitions (CRDs) are supported but may require configuration in the k9s config file for proper display.
- k9s requires a terminal with adequate width; narrow terminal windows truncate important columns. Use a full-screen terminal for the best experience.
Frequently Asked Questions
k9s provides a visual interface on top of kubectl. It does not replace kubectl but makes most interactive operations faster. You still need kubectl for scripting, CI/CD pipelines, and automation.
Yes. k9s supports custom themes (skins), key bindings, and resource column configurations. Configuration files are stored in ~/.config/k9s/. You can define custom views for CRDs and alias frequently used commands.
Yes. k9s supports context switching between multiple Kubernetes clusters. Press :ctx to list and switch between contexts defined in your kubeconfig file.
Use the --readonly flag to prevent accidental deletions or edits on production clusters. In read-only mode, destructive actions are disabled while monitoring and log viewing remain available.
k9s supports Kubernetes 1.24 and later. It tracks the upstream Kubernetes API and typically supports new resource types shortly after they are released.
Citations (3)
- k9s GitHub— k9s provides a terminal UI for Kubernetes with keyboard navigation
- k9s Documentation— k9s supports custom skins, key bindings, and CRD views
- k9s License— k9s is open-source under the Apache 2.0 license
Related on TokRepo
Discussion
Related Assets
NAPI-RS — Build Node.js Native Addons in Rust
Write high-performance Node.js native modules in Rust with automatic TypeScript type generation and cross-platform prebuilt binaries.
Mamba — Fast Cross-Platform Package Manager
A drop-in conda replacement written in C++ that resolves environments in seconds instead of minutes.
Plasmo — The Browser Extension Framework
Build, test, and publish browser extensions for Chrome, Firefox, and Edge using React or Vue with hot-reload and automatic manifest generation.