The vZilla Kubernetes tools, tips & tricks
Tags: kubernetes, devops
Published: 2021-08-21 16:44:17

---
title: The vZilla Kubernetes tools, tips & tricks
published: true
date: 2021-08-20 16:44:23 UTC
tags: Kubernetes, DevOps 
canonical_url: https://vzilla.co.uk/vzilla-blog/the-vzilla-kubernetes-tools-tips-tricks
---

This week saw a lot of useful procrastination mostly around different tools to make your day-to-day experience with Kubernetes that little more easier or possibly more exciting. I put together this twitter thread but as with anything on twitter the life span of that thread is gone within minutes so I wanted to document my Kubernetes tips and tricks here as well.

[https://twitter.com/MichaelCade1/status/1427928444629831680?s=20](https://twitter.com/MichaelCade1/status/1427928444629831680?s=20)

# Tips for Kubernetes: 1 – kubectl explain  

Have you been looking for the man pages for Kubernetes? (man, page is short for manual page) or could also be classed as documentation.

Get documentation of various resources. For instance, pods, nodes, services, etc.

![082021 1643 ThevZillaKu1](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu1.jpg "The vZilla Kubernetes tools, tips & tricks 11")

# Tips for Kubernetes: 2 – Autocompletion  

Why would you want to remember every single full command that you ever need to run, why not use autocompletion, this is a simple line of code to be added to your .bashrc or .zshrc file and it gives you that next command or at least a hint on where you might want to go.

![082021 1643 ThevZillaKu2](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu2.jpg "The vZilla Kubernetes tools, tips & tricks 12")

# Tips for Kubernetes: 3 – Aliases  

Aliases, who wants to be writing kubectl in every time you need to find something else, the simple way to fix this is with an alias, but you could also get creative with other aliases here and add more simplified ways to submit commands. I have started very minimal with just k = kubectl but some people have gone and written what looks to be their own language through aliases.

Here are some solid examples you might want to also try – [https://github.com/ahmetb/kubectl-aliases](https://github.com/ahmetb/kubectl-aliases)

![082021 1643 ThevZillaKu3](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu3.jpg "The vZilla Kubernetes tools, tips & tricks 13")

# Tips for Kubernetes: 4 – kubectx  

I don’t know about you but switching contexts takes a few seconds longer when you must do it the manual way, the kubectl config get-contexts to find the context name you want and then kubectl config use-context <NAME> to switch is a pain, when you have kubectx you have a real easy way of switching between the contexts. There are some other tools out there later as well.

![082021 1643 ThevZillaKu4](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu4.png "The vZilla Kubernetes tools, tips & tricks 14")

# Tips for Kubernetes: 5 – Generate YAML files with kubectl  

Everything you are doing within your Kubernetes should be based on code, but what if you do make changes in the middle of testing, well with the following command you can export your YAML manifest and make sure your source code is up to date with what you have in your cluster or so you can share the latest with others.

kubectl create deployment nginx –image nginx –dry-run=client -o yaml > deployment.yaml

![082021 1643 ThevZillaKu5](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu5.jpg "The vZilla Kubernetes tools, tips & tricks 15")

[https://twitter.com/florian\_casse](https://twitter.com/florian_casse) made a good point here or an added point with

![082021 1643 ThevZillaKu6](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu6.png "The vZilla Kubernetes tools, tips & tricks 16")

# Tips for Kubernetes: 6 – Validate your changes  

Ever wanted a way to confirm the changes you are making to your YAML files before applying them to your cluster? Or to see what has changed between? You can see the + and – on the left side of the terminal indicating the differences between the live system and your changes to the YAML file.

kubectl diff deployment.yaml

![082021 1643 ThevZillaKu7](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu7.png "The vZilla Kubernetes tools, tips & tricks 17")

![082021 1643 ThevZillaKu8](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu8.jpg "The vZilla Kubernetes tools, tips & tricks 18")

# Tips for Kubernetes: 7 – Monitoring Hardware Resources  

Want to understand what your CPU and Memory looks like and broken down into different Kubernetes resources, find out with these commands

kubectl top nodes

kubectl top pod –all-namespaces

 

![082021 1643 ThevZillaKu9](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu9.jpg "The vZilla Kubernetes tools, tips & tricks 19")

# Tips for Kubernetes: 8 – Changing Colours  

This one was added by Florian again on the twitter thread, but this allows you colorise the output of kubectl.

[https://t.co/klj2p2codU?amp=1](https://t.co/klj2p2codU?amp=1)

![082021 1643 ThevZillaKu10](https://vzilla.co.uk/wp-content/uploads/2021/08/082021_1643_ThevZillaKu10.png "The vZilla Kubernetes tools, tips & tricks 20")

Then is where the procrastination came in because I found some more useful or at least that look to be useful for day to day tasks, I am going to list them quickly here but I intend to use these and update the post with hopefully more.

kubens – [https://github.com/ahmetb/kubectx/blob/master/kubens](https://github.com/ahmetb/kubectx/blob/master/kubens) – like changing those contexts this allows you to switch to namespaces and stay switched there so you don’t have to add the -n and namespace name every time you want to find out something.

arkade- I have mentioned this before in another blog but you can find more information here, [https://github.com/alexellis/arkade](https://github.com/alexellis/arkade) I do in fact use this handy little tool to get my clis and other tools.

I think another huge topic we could raise here is kubectl plugins themselves, and this is where I spent most of my day yesterday procrastinating and then even taking the kubestr binary and making that a kubectl plugin. To name a few though here for everyone to go and see if they work for you:

Krew – first and foremost krew is a plugin installer, over 100 plugins available it seems to be like arkade in that it gives you a nice central way to install multiple plugins and it’s a plugin itself.

Then we have a few more that I am not going to describe but leave them here for you to explore and we will try and do another blog soon covering their use cases and why.

- Access-matrix
- Whoami
- Neat
- View-allocations
- View-utilisation
- Who-can
- Resource-capacity
- Tree

I hope this post was useful but more importantly I would love to add your favourite tips, tricks and tools if not mentioned here,