K9r
A faster Kubernetes terminal UI powered by the same Rust core behind Krust.
K9r is the terminal surface for Krust's Kubernetes engine. It keeps cluster state warm locally, streams changes through watches, and renders from cache first so navigation stays responsive on busy clusters.
Status
K9r is included in Krust v1.4.3 as a macOS-first terminal preview. The goal is familiar k9s-style muscle memory with Krust's shared Rust core underneath.
Installation
Install Krust from the Homebrew tap. The package includes both the native macOS app and the k9r terminal command:
brew install --cask vanchonlee/tap/krust
k9r --help Preflight Checks
K9r uses your existing kubeconfig. If kubectl can read your cluster, K9r should be able to use the same access.
kubectl config current-context
kubectl get pods -A For YAML editing, set your preferred editor:
export EDITOR=vim
export VISUAL=code Command Line
| Command | Use |
|---|---|
k9r | Start K9r using the current kube context. |
k9r --namespace default | Start scoped to a namespace. |
k9r --context prod-west | Start in a specific kube context. |
k9r --help | Show CLI options. |
Resource Aliases
Open command mode with :, then jump directly to a resource view.
| Alias | View |
|---|---|
:po, :pods | Pods |
:deploy | Deployments |
:svc | Services |
:events | Events |
:helm | Helm releases |
:pf | Active port-forwards |
:security | Security view |
:ctx | Context picker |
:ns | Namespace picker |
Navigation
| Key | Action |
|---|---|
| j / k, arrows | Move selection. |
| g / G | Jump to top or bottom. |
| Enter | Open the selected item. |
| / | Filter the current view. |
| : | Open command mode. |
| Esc | Return to the previous view. |
| ? | Show help. |
| Ctrl+A | Show resource aliases. |
Actions
Actions run against the currently selected resource. Mutating actions require explicit confirmation.
| Key | Action |
|---|---|
| l | Open logs. |
| p | Open previous logs where available. |
| y | View YAML. |
| e | Edit YAML with your editor. |
| s | Open shell. |
| a | Attach to container. |
| Shift+F | Start port-forward. |
| Ctrl+D | Delete with confirmation. |
| Shift+R | Open rollout revision history where supported. |
Logs
K9r reuses Krust's log pipeline. Open logs from pods or containers, follow the tail, toggle timestamps, wrap long lines, clear the view, or save the current buffer.
| Key | Action |
|---|---|
| G | Follow tail. |
| s | Pause or resume follow. |
| a | Toggle all containers. |
| t | Toggle timestamps. |
| w | Toggle wrapping. |
| Shift+C | Clear logs. |
| Ctrl+S | Save logs. |
Why K9r Is Faster Than k9s
K9r keeps pod and resource state warm in a local runtime. Kubernetes updates stream into that runtime through watches, and the UI renders from hot data first instead of blocking every navigation step on a fresh API call. API refreshes happen in the background, so filtering, selection, and workload-to-pod drill-downs stay responsive on noisy clusters.
Runtime Files
K9r writes runtime logs locally so tool debugging does not interrupt the cluster workflow. TUI stderr is written to /tmp/k9r-tui.log. Saved tables, logs, and YAML exports use k9r-... filenames in the system temp directory.