How to install the Kubebox Kubernetes console interface

If you're looking for a Kubernetes terminal-based console viewer, look no further than Kubebox. Jack Wallen shows you how to install this handy tool.

How to install the Kubebox Kubernetes console interface
1:59

If Kubernetes has infiltrated your data center, you probably understand that having the right tools is not just helpful, it's crucial. With Kubernetes, it's not only having one right tool, it's about having all the right tools. That means you'll probably be working with web- and client-based GUI tools. 

However, your Kubernetes admin tasks won't be ending with GUI software. To really get the most out of the platform, you need console-based tools. That's right, my friends, you need tools that work within the terminal. 

One such tool that has become a favorite among Kubernetes admins is Kubebox. With Kubebox, you can easily monitor what's happening within your cluster pods to help troubleshoot and debug. The Kubebox console tool feature set includes:

  • Configuration from kubeconfig files

  • Switch contexts with mouse or keyboard navigation

  • Authentication support (such as bearer token, basic auth, private key/cert, OAuth, OpenID)

  • Namespace selection and pods list viewing

  • Container log scrolling and viewing

  • Container resources usage viewing (memory, CPU, network, file system charts)

  • Container remote exec terminal

  • Cluster, namespace, pod events support

  • Object configuration editor and CRUD operations

  • Cluster and nodes views and monitoring

I want to show you how to get Kubebox installed on a Kubernetes cluster running on Ubuntu Server 18.04. The process will work on any Linux distribution that supports Kubernetes.

SEE: Serverless computing: A guide for IT leaders (TechRepublic Premium)

What you'll need

The only thing you'll need to make this work is a Kubernetes cluster and the ability to log in to the master node. 

If you've yet to deploy your cluster, find out how in my article, How to deploy a Kubernetes cluster on Ubuntu server.

How to install Kubebox

The first thing to do is install Kubebox. This can be accomplished with a single command. Log in to your Linux data center server and issue the command:

curl -Lo kubebox https://github.com/astefanutti/kubebox/releases/download/v0.8.0/kubebox-linux && chmod +x kubebox

If you find curl isn't installed, do so with the command:

sudo apt-get install curl -y

Next, you'll want to deploy the cAdivisor to your cluster, as Kubebox relies on this system. However, prior to version 0.8.0, Kubebox accessed the cAdvisor endpoints, which are in the process of being deprecated. Because of this, Kubebox now expects cAdvisor to be deployed as a daemonset. To do this, issue the following command:

kubectl apply -f https://raw.github.com/astefanutti/kubebox/master/cadvisor.yaml

Once that command completes, you're ready to run Kubebox.

How to run Kubebox

With your Kubernetes cluster running and Kubebox installed, it's time to run the console tool. To do that, issue the command:

./kubebox

When Kubebox starts, you'll see it open to the namespace selector (Figure A).

Figure A

kubeboxa.jpg

The Kubebox namespace selector.

You can select a namespace by either using your up and down keyboard arrows or by using your mouse/trackpad to click on an entry.

Once you've selected a namespace, it will list all of the associated pods (Figure B).

Figure B

kubeboxb.jpg

The pods associated with the cadvisor namespace.

Click on a pod to view its logs and resources (Figure C).

Figure C

kubeboxc.jpg

Viewing logs and resources of a pod within a Kubernetes namespace.

Read through the pod logs to troubleshoot any issues you might be experiencing.

How to use the hotkeys  

You don't have to use the mouse to navigate through Kubebox. In fact, there are some actions that require keyboard shortcuts (aka "hotkeys"). Those actions are:

  • n - Change current namespace

  • Shift+left/right arrow - Navigate screens

  • Up arrow/down arrow - Navigate list

  • Enter - Select item

  • Esc - Close modal window

  • q - Exit

  • r - Remote shell into container

  • m - Memory usage

  • c - CPU usage

  • f - File system usage

  • e - Pod events tab

  • Ctrl+e - Open namespace/cluster events tab

And that's all there is to using the Kubebox Kubernetes console tool. Add this little gem to your Kubernetes toolkit and you'll find your clusters even easier to manage.

Also see

kuberneteshero.jpg

Image: Jack Wallen