jardim do jojo

Tools of the Week #1

// Publicado em: 27 de setembro de 2019

Tools of the week is a top of my head idea to write a tiny little bit about the tools and libraries I discovered every week. I love tools. I now you love them too ❤️

wharfee

A shell for Docker with auto complete and highlight. I love this niche shells with asteroids, like saws.

If you use Docker a lot, it makes life soooo much easier. You know when you are trying to nailed down that set of flags to get a specific behavior? Having a tool that basically tells you what’s available without you even need to ask it’s just amazing.

Screenshot showing the usage of wharfee


kubebox

A nice tool to have a quick overview of your pods with their metrics and logs AND by pressing r to remote login into them 🤯 You can run it locally, from inside or cluster or even in their webpage. Way better than doing a bunch of kubectl commands to navigate your environment. Also, there are a lot of interesting open issues, a good start for Hacktoberfest!

GIF showing the usage of kubebox


kubespy

Have you ever wondered what actually happens when you create a Service in K8S? I just discovered that for a ClusterIP one it also creates an Endpoint which lead me to go and understand what an Endpoint actually is.

Kubespy displays real time changes to complex structures in Kubernetes. Crazy cool.

You issue a command like:

$ kubespy trace service mysvc
Waiting for Service 'default/mysvc'

Then deploy a Service in another console:

apiVersion: v1
kind: Service
metadata:
  name: mysvc
spec:
  selector:
    app: myapp
  ports:
  - port: 80

And your previous terminal will look like this:

[MODIFIED v1/Service]  default/mysvc
    ✅ Successfully created Endpoints object 'mysvc' to direct traffic to Pods
    ✅ Successfully allocated a cluster-internal IP: mysvc

[MODIFIED v1/Endpoints]  default/mysvc
    ✅ Directs traffic to the following live Pods:
       - [Ready] myapp @ 10.28.0.12

Awesome, right? You can also inspect status and changes for complex objects, getting some nice JSON diffs.


octant

A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.

Having an overview of your entire cluster can’t be easier! Just install the binary and:

$ octant

Boom!

Octant allows you to take a quick look on your resources, like Services and Pods, including their events, logs and configurations. You can also change your cluster by deleting specific objects.

For me, the best feature is the Resource Viewer, showing the relationship between stuff:

Screenshot with the Resource Viewer page from octant

It also has a plugin system, but I didn’t find any quick-and-use plugin out there :(