← All posts

DevOps

k9s: A Terminal UI That Makes Kubernetes Manageable

k9s is a terminal UI for Kubernetes - navigate, observe, and manage cluster resources without endless kubectl commands.

K DevOps

Working with Kubernetes through raw kubectl means typing long commands to list pods, then more commands to describe one, then more to read its logs - a lot of ceremony for what is really just navigating and observing. k9s collapses that into a fast terminal UI. It shows your cluster's resources in live, navigable lists, so you move from namespaces to pods to logs with a keystroke, and take actions - restart, scale, delete, shell in - without reconstructing a kubectl invocation each time.

Your Cluster, Navigable

k9s continuously refreshes, so what you see is the live state, and you drill in by selecting rather than retyping:

# Launch it (uses your current kubeconfig context) k9s # Inside: type a resource to jump to it :pods :deployments :services # then l for logs, d to describe, s to shell in

Actions Without the Ceremony

The real win is that common operations become single keys: tail a pod's logs, describe a resource, exec into a container, delete or scale - all from the list view. It turns cluster spelunking from a command-typing exercise into fast, keyboard-driven navigation.

Rough Edges and Limitations

  • You still need to know Kubernetes. k9s makes the concepts faster to work with, not optional.
  • Powerful, so careful. One-key delete and scale are convenient and easy to fire by accident.
  • Read-heavy by design. For declarative changes, your manifests and GitOps still rule.

For anyone who operates a Kubernetes cluster, k9s removes a hundred kubectl keystrokes a day and makes the cluster genuinely browsable.

Internal link suggestion: link "a fast terminal UI" to the lazydocker post for the same idea applied to plain Docker.