Kubernetes command-line

In a previous blog post, I detailed how to install four very useful Kubernetes tools on your macOS or Windows machine. Those tools—kubectl, stern, kubectx, and kubens—are must-haves for the advancing developer, as well as any folks in operations. What I failed to do previously, however, was include instructions for installing these tools on Linux. So... here we are.

kubectl

With kubectl, the standard command-line tool for Kubernetes, you can perform all the operations of Kubernetes that are required. This is the starting point for any Kubernetes administration. kubectl is the command-line tool for Kubernetes and is under the stewardship of the Cloud Native Computing Foundation, which brings us Kubernetes.

Installation on Linux

There are three paths from which to choose for installing kubectl on Linux:

  1. Download the binary and install it.
  2. Use the package manager associated with your specific Linux distribution (e.g., yum, apt-get).
  3. Use snap.

All three paths are detailed on the kubectl installation page; I won't repeat them here as they are already very well documented.

stern

Keeping with the Kubernetes nautical theme, stern is the tail end of a ship, and it's a tool to display the tail end of logs for containers and multiple pods. In the true spirit of open source community, the stern project comes from Wercker (which was acquired by Oracle in 2017).

Stern is a gift because, rather than viewing an entire log to see what happened most recently, you can use stern to watch a log unfurl.

Installation on Linux

Hop over to the binaries page of the Github repo for stern, download the latest binary, and store it in a directory on your machine. Make sure your PATH includes said directory. That's all there is to it.

kubectx

Kubectx is helpful for multi-cluster installations, where you need to switch context between one cluster and another. Rather than type a series of lengthy kubectl commands, kubectx works it magic in one short command. It also allows you to alias a lengthy cluster name into an alias. For example (taken directly from the kubectx website), kubectx eu=gke_ahmetb-samples-playground_europe-west1-b_dublin allows you to switch to that cluster by running kubectx eu. Another slick trick is that kubectx remembers your previous context—much like the “Last” button on a television remote—and allows you to switch back by running kubectx -.

The kubectx blog is here. Thank you to Googler Ahmet Alp Balkan—ahmetb on GitHub—for the tool. The repo is here.

Installation on Linux

Both kubectx and kubens (mentioned later in this article) are written in Bash, so they're pretty much compatible with any Linux distro. The instructions to download them—and some other goodness such as tab completion—are detailed at the Github repo for kubectx.

kubens

This script allows you to easily switch between Kubernetes namespaces. A simple kubens foo will make foo your active namespace. The simplicity of this tool is what makes it so appealing. It does one thing and does it well. Like kubectx, the dash (-) option returns you to the previous value.

Kudos, again, to Ahmet Alp Balkan for kubens.

Installation on Linux

Guess what: It's included when you install kubectx. How's that for value?

Get your artisanal game on

Get these four tools loaded on your development machine, and you’ll be ready to build some amazing applications while navigating the Kubernetes waters with ease. Once again, the open source community comes through for developers looking to advance and grow.

Last updated: June 14, 2023