K9s and How I Loved Exploring Kubernetes Again

ยท 272 words ยท 2 minute read

I use kubenetes regularly, and most of the time I cannot remember what command to run let say to open shell into a container or to list the current containers and so. kubectl command is very powerful but also very very verbose :)

k9s is the perfect tool for me as it make these command super easy to run the following (and much more) with one keystoke:

  1. Open a shell in a container.
  2. Show the logs of a container.
  3. where can you find all the shortcut.

Install k9s ๐Ÿ”—

# via homebrew
brew install derailed/k9s/k9s

Linux and Windows are supported, check k9s installation page for what needs to be done

Configure your kubernetes context (kubeconfig) ๐Ÿ”—

In order to connect to you kubernetes cluster, you will need a kubeconfig file that most of the time will live in ~/.kube/config.

As an AWS user, I’m going to use aws cli to create this file for me.

aws eks --region <region-code> update-kubeconfig --name <cluster_name>

For more info, check AWS guide to create kubeconfig

Run k9s ๐Ÿ”—

# run k9s from the command line

You should see k9s ui.

main menu

How to open a shell inside a container ๐Ÿ”—

Once you select your running container, hit s button and Voila!

open a shell

List of shortcuts ๐Ÿ”—

  • Shell: s
  • Logs: l
  • Describe: d
  • Attach: a
  • Delete: ctrl-d
  • Edit: e
  • Help: ?
  • Kill: ctrl-k
  • Logs previous: p
  • Port-Forward: shift-f
  • Show PortForward: f
  • YAML: y

These commands can change in the future, there are available on the top left of the ui in case you need them :)

List of shortcuts

To get the complete list of shortcuts, hit ? to go into the help section