Skip to content

KubeGlass vs k9s

k9s is a terminal UI for Kubernetes: one program per person, driven from the keyboard, with plugins that bind shell commands to keys. KubeGlass is a web console that runs as one binary on your computer or in a cluster, and its lists use k9s’s keys.

You can use both: k9s in a terminal, and KubeGlass when you want a browser, several clusters side by side, history or access reviews, or something to share with a team.

KubeGlass k9s
License AGPL-3.0 Apache-2.0
Runs as A binary that opens the UI in your browser, a container, or a Helm chart in a cluster A terminal program for Linux, macOS, Windows and FreeBSD; latest release v0.51.0, 6 June 2026
Needs A browser A 256-colour terminal; kubectl on the PATH for shells and editing
Team use One deployment in each cluster for everyone, each person signed in and acting as themselves Each person runs their own copy
Several clusters Run from a kubeconfig: every context in one list with its problem counts, a diff between clusters and scheduled drift checks. Installed in a cluster: that cluster only One context at a time; :ctx switches, and many settings can be set per context
Live updates Watches Watches
Logs One container, all of a pod’s containers, or merged across a workload’s pods; previous run, search, JSON expansion One container, all of a pod’s containers, or a workload’s pods; previous run, filter
Shells Pod exec, node shells (opt-in), a shell on your computer (opt-in); split panes, broadcast to several sessions, recording Pod shell, attach, node shells (opt-in)
Port forward Pods and Services, when KubeGlass runs on your computer Pods, Services and containers, with benchmarks through hey
YAML View and edit in the browser, with a server-side dry run and a diff View; e opens kubectl edit in your editor
Helm Releases, history, values, upgrade, rollback, uninstall, and a chart catalog to install from Releases, values, history, rollback and uninstall; no install or upgrade
Argo CD and Flux Built in, with sync, refresh and rollback Community plugins in the k9s repository
Custom resources Yes Yes
Access review An access matrix for any user, group or ServiceAccount, who can do something, and a form for roles and bindings :can u:<user>, g:<group> or s:<serviceaccount> shows one subject’s rules
Metrics CPU and memory from metrics-server or Prometheus, PromQL, Alertmanager alerts and silences, rightsizing CPU and memory from metrics-server, and the Pulses view
Relationships A tree on each object’s page XRay, a tree for Pods, Services, Deployments, ReplicaSets, StatefulSets and DaemonSets
Vulnerabilities Reads the Trivy Operator’s reports Scans images when you turn it on (marked experimental)
Change history Changes to Deployments, StatefulSets, DaemonSets, CronJobs, Services, Ingresses, ConfigMaps, Secrets and autoscalers, field by field, with revert after a dry run No
Customizing An extensions file for links, commands to copy, list columns and palette names; light, dark and higher-contrast themes Plugins that run commands, hotkeys, aliases, custom columns and skins
Read-only --read-only for the server, or one cluster at a time --readonly, or readOnly per context
UI languages 8 English
  • You work in a terminal, including on remote machines over SSH, and want nothing else running: no server, no port, no browser.
  • You want plugins that run any command on a key, with the selected object’s name, namespace and context filled in. KubeGlass copies commands from its extensions file to the clipboard and never runs them.
  • You want skins, hotkeys and settings per context.
  • You use attach, benchmarks with hey, or image scans run by k9s itself, which KubeGlass doesn’t have.
  • You prefer the Apache-2.0 license.
  • You want the same keys in a browser, or something to give people who don’t use a terminal.
  • A team should share one deployment in a cluster, with each person signed in and limited by their own RBAC.
  • You want several clusters at once: one list with each cluster’s problems, a diff between clusters, drift checks and an upgrade check.
  • You want to know what changed before something broke, who changed it, and to revert it after a dry run.
  • You review access and need to know who may do something, not only what one subject may do.
  • You install or upgrade Helm charts, or work with Argo CD, Flux and Argo Rollouts without plugins.
  • You want Alertmanager alerts, PromQL and rightsizing next to the objects.

KubeGlass reads the same kubeconfig and starts on its current context. Install it and run kubeglass:

Terminal window
brew install kubeglass/tap/kubeglass
kubeglass

The keys in KubeGlass’s lists follow k9s. Where they differ, the table says so:

In k9s In KubeGlass
:pod, :deploy kube-system The same: : opens the command palette at that kind, with an optional namespace, or all
:ctx @ in the command palette, or ⌘⇧K
:ns # in the command palette, or n
/ filter, /-l app=web /, where app=web, tier!=db and !canary filter by label
j k, Enter j k move; Enter opens the object’s page
l, p Logs and the previous run’s logs
s Shell, for pods. On a Deployment, k9s’s s scales; in KubeGlass scaling is on the object’s page
y, e y and e both open the YAML. KubeGlass edits it in the browser instead of your editor
d Describe
Shift F Forward a port of a pod or Service
c Copy the name
Space Space or x selects; Shift-click selects a range
Ctrl d Delete, after asking
Ctrl k No key. Force delete is on the object’s page
Shift N, Shift A, Shift S The same sorts, plus Shift R, C and M for restarts, CPU and memory
:xray The tree on each object’s page
:pulses The Overview
:helm :helm opens Helm releases
? ? lists the shortcuts

Your k9s configuration moves over in parts:

  • Plugins in plugins.yaml become actions with a command in the extensions file. Use {name}, {namespace} and {context} where k9s uses $NAME, $NAMESPACE and $CONTEXT. KubeGlass copies the command for you to paste; it doesn’t run it.
  • Aliases in aliases.yaml become aliases, so :cert can open cert-manager’s Certificates.
  • Columns in views.yaml become columns, each with a path such as .spec.issuerRef.name.
  • Skins and hotkeys have no equivalent.

To keep k9s at hand, start KubeGlass with --local-shell. Its terminal then opens a shell on your computer with KUBECONFIG set to the cluster you are viewing, so k9s starts there. See Terminal.

Checked on 5 October 2026.