3.7 KiB
K9s
K9s is a command line interface to easy up managing Kubernetes Clusters.
Core features of k9s are for instance:
- Editing of resource manifests
- Shell into a Pod / Container
- Manage multiple Kubernetes clusters using one tool
More information and current releases of k9s, can be found on their Github repository.
Installation
On Linux
Find and download the latest release
Check the release page here and search for the fitting package type (e.g. Linux_x86_64). Copy the link to the archive of your choice. Download and unpack the archive like in this example:
wget https://github.com/derailed/k9s/releases/download/v0.26.6/k9s_Linux_x86_64.tar.gz
tar -xvf k9s_Linux_x86.tar.gz
Install k9s
sudo install -o root -g root -m 0755 k9s /usr/local/bin/k9s
Commands
Cluster selection
As soon as you've started k9s, you can use a bunch of commands to interact with your selected cluster (which is the context you have selected in you current shell environment).
You can everytime change the cluster you want to work with by typing :context
. A list of
available cluster configurations appear, you can select the cluster to connect to with the
arrow keys and select the context to be used by pressing enter.
General command structure
Menu
You can switch between resource types to show using a text menu selection. You need to press :
to bring up this menu. Then you can type the resource type you want to switch to
(e.g. pod
, services
...). Press the enter key to finish the command.
Selection Selections are made with the arrow keys. To confirm your selection or to show more information, use the enter key again. For instance, you can select a pod with the arrow keys and type enter to "drill down" in that pod and view the running containers in it.
Filter and searches
In nearly every screen of k9s, you can apply filters or search for something (e.g. in the log output
of a pod). This can be done by pressing /
followed by the search / filter term. Press enter so apply
the filter / search.
Also in some screens, there are shortcuts for namespace filters bound to the number keys. Where 0
always shows all namespaces.
Useful shortcuts and commands
Command | Comment | Compareable kubectl command |
---|---|---|
:pod |
Switches to the pod screen, where you can see all pods on the current cluster. | kubectl get pods --all-namespaces |
:services |
Switches to the service screen, where you can see all services. | kubectl get services --all-namespaces |
ctrl +d |
Delete a resource. | kubectl delete <resource> -n <namespace> |
ctrl +k |
Kill a resource (no confirmation) | |
s |
When on the Pod screen, you then open a shell into the selected pod. | kubectl exec -n <namespace> <pod_name> -c <container_name> -- /bin/bash |
l |
Show the log output of a pod. | kubectl logs -n <namespace> <pod_name> |