Goxo’s cloud toolkit

Goxo Tech
3 min readJun 14, 2021

--

At Goxo we are using kubernetes for managing our main workloads, and in this week’s post I would like to review the toolkit we use in our daily basis to tackle with our main infrastructure-related tasks. Of course, there are many tools out there, and each person has her own preferences but so far this is the set we found more useful for our most common activities. Without further delay let’s dive in:

  • kubectx & kubens: these two are a kind of pack, developed in Golang, the former is used to easily list, check and change the kubernetes cluster you have on your terminal environment configuration and the latter is helpful for the same operations but on the namespaces. They are both opensource, and you can download them from Github
➜ kubectx
gke_project-id_region1_clustername1
gke_project-id_zone1_clustername2
gke_project-id_zone2_clustername3
➜ kubens
default
flux
ingress-nginx
kube-node-lease
kube-public
kube-system
linkerd
linkerd-viz
staging
velero
  • dive: it is a very useful tool to explore the layers of your container images, as well as to detect which potential files can be removed in order to reduce the size of the image. Written in Golang and opensourced you can download it from Github
Example of dive execution with google/cloud-sdk image
  • k9s: this tool is probably my favorite one as you can browse across and operate any resource within your clusters, its controls are very Vim-oriented and guess what? it is also written in Golang. Moreover you can monitor your workloads, check dependencies, and so on. Check its website for further information.
Example of information provided by k9s (pulses)
  • popeye: we use it for assessing our clusters configuration in order to detect potential issues with resources and other configurations. It displays a very complete report with a rank that allows you to understand how well you are doing. It can be used standalone or within k9s. Find further information at its Github.
Excerpt from popeye’s report
  • starship: this tool helps you to be aware of the context you are in by providing a fully fledged prompt in your terminal. It gives you info about the branch you are when in a git directory, the kubernetes cluster and namespace you have selected as your current context, the current version of your development environment (i.e. Golang 1.16). One of the things I like the most is that you can create aliases for your clusters to be displayed within the prompt (See screenshot below). You can find further details at its website.
Example of starship in action

There are some other tools we are using for very specific topics, such as velero, helm, linkerd,… but we will leave those for another day ;-)

Hope you find this list useful, stay tuned for more content!

— This article was written by Ángel J. Ramos, CTO & Head of Product at Goxo

--

--

Goxo Tech
Goxo Tech

Written by Goxo Tech

We are a Spanish startup building the next generation of the direct channel for restaurant businesses. We write about tech and product. https://goxoapp.com

No responses yet