In the jungle of all the tools you can use to work with Kubernetes, I wanted to bring my vision of the nice to have tools…. just to add on more article :)
As I work on kubernetes for 4 years already, I had time to test a lot of tools. A the beginning I was always searching for a graphical tool that will simplify day to day work. In fact I was wrong.
Use kubectl !
That’s a fact, it’s the default cli and it still be the simpliest one for me. You have shell completion and it’s so easy to pipe commands.
If you don’t know where to find it :) the link is here
You have several clusters ? Use kubie
I work on a multi-cluster environment and used in the past kubectx and kubens. The main drawback of those tools is that it will alter your user environment. So all terminal will switch to the new context…
Kubie fix this as it will define a per terminal KUBECONFIG environment variable so that you can have a terminal on cluster 1 on the namespace toto and another one on cluster 2 on the namespace tutu. It’s very useful.
And one more thing it alter your shell prompt :)
You can download it from : https://github.com/sbstp/kubie
You want to tail your logs ? Try stern
In the game of log viewing, there is some other alternatives, I personaly like stern…
You can tail logs using pattern matching of pods.
You can download it from : https://github.com/stern/stern
You still want an interface ? Stay on your terminal and try k9s
Ok I am not the first one to write something about it, very useful…. I love the vim mode
You can download it from : https://k9scli.io/
For application deployment ? Helm and Helmfile
Helm is a templating tool to package your application deployment. One of the drawback is when you deploy on multiple namespaces with different parameters… it can quickly be to hard to manage.
Helmfile comes on top of helm and try to simplify by substituing variables with environment variables. Very useful when you deploy from a CI/CD Job.
And that’s all you need :)