EN

Sharpening your Swiss Army knife for Kubernetes

Check out 10 sharp tools to boost your productivity in Kubernetes, including KinD, Kubetail, and Kubewatch. Increase your daily efficiency with tips from our expert Adonai Costa.

SRE/Kubernetes Admin

Adonai Costa

Check out a selection of tools to boost your productivity

For developers or Kubernetes administrators looking to be more productive in their daily routine, in this article I bring a list containing a selected group of 10 sharp tools to use in your orchestrator. These are resources I turn to, whenever needed, to accelerate the delivery and behavioral analysis of the environments I manage. Let's get to the list:

1- KinD

Fast track: generates a Kubernetes cluster on your computer

To create a Kubernetes cluster on your personal machine or validate your deploy, pod, cronjob, job, ingress, or any other resource before sending it to production, use KinD, the fastest solution to do it all! It spins up a cluster based on docker containers on your own machine, and you no longer have to worry about minikube or virtual machines. https://kind.sigs.k8s.io/

2- Kubetail

Fast track: is the “tail -f” of your workloads

This tool tip goes out to all the administrators on duty! Kubetail allows you to track your application logs by color, labels, or containers within one or more pods originating from the same deployment. https://github.com/johanhaleby/kubetail

3- Kubewatch

Fast track: sends notifications about what is happening in Kubernetes

Kubewatch triggers notifications about occurrences in Kubernetes. The tool can notify you via Slack, Hipchat, Mattermost, Flock and email. It even lets you customize the webhook. So, if you want to know if they removed, changed, or created a deploy, pod, services, secret, and configmap in your Kubernetes, run: https://github.com/bitnami-labs/kubewatch

4- Kube-state-metrics

Fast track: generates data from your Kubernetes

Already well-known and applied in most clusters, Kube-state-metrics measures cluster usage, resources, and application access. It connects to the Kube-Apiserver and collects Infrastructure metrics, generating value in the observation of your cluster and workloads. The tool can be coupled with Prometheus, Metricbeat from Elasticsearch, and others. https://github.com/kubernetes/kube-state-metrics

5-WeaveScope

Fast track: automatically identifies processes, containers, and hostsWeaveScope is a tool provided by Weave, which also created and maintains CNI Weave. With WeaveScope, even if you are using another CNI plugin for your Kubernetes, you can monitor the request flow, view the access hierarchy, monitor resource consumption, and manage your workloads by restarting, removing, or stopping them.https://www.weave.works/oss/scope/

6- Kube-monkey and Gremlin

Fast track: tests the high availability of workloadsThese two tools release the "crazy monkeys" in the cluster to check if the workloads will guarantee high availability in the environment. The monkeys go in and take down parts of your workload, validating your availability rules and workload. According to the result, it is possible to improve the number of replicas, cluster sizing, and physical and logical segregation of microservices.https://github.com/asobti/kube-monkey https://www.gremlin.com/community/tutorials/how-to-install-and-use-gremlin-with-kubernetes/ 

7- Dive

Fast track: evaluates container performance and reliabilityBefore deploying a workload in the cluster, many developers should ask themselves: is it possible to optimize my container? How light and efficient can it be?With Dive, you can easily navigate between layers of your container and understand how they were created to improve its performance and reliability. It is also possible to integrate it into the CI pipeline and submit it to prior analysis. You can even, based on its rank, approve its push to the repository.https://github.com/wagoodman/dive

8- K9scli

Fast track: facilitates navigation, monitoring, and management of applications in the "wild"

This tip goes out to the lazy sysadmins out there! K9scli is an interface coded in Go, and I love the way the project page was built. For enthusiasts, it is very similar to the good old htop/top. It is available for MacOS, Windows, and Linux Arch. For any other flavor of Linux, you need to download and compile the source, which generates a single and simple Go binary that can be moved to your <bindir>.https://k9scli.io/

9- Marvin

Fast track: Scans your cluster for configuration errors or vulnerabilitiesMarvin is an open-source CLI tool that performs a robust set of checks written in CEL, identifying potential issues, misconfigurations, and vulnerabilities. Marvin features updated native checks from well-known frameworks, such as PSS, NSA, and CIS Kubernetes Hardening Guidance, as well as MITRE's ATT&CK, and also allows you to define and run custom checks tailored to your Kubernetes environment.

10 - Zora

Fast track: A multicluster dashboard to view all the issues you have. Zora is a Getup product that periodically scans all your K8s clusters looking for potential issues/vulnerabilities in deployed resources and configurations through connected plugins, such as Popeye (market plugin) and Marvin (official Undistro plugin). Zora is an essential tool for those seeking compliance with best practices, avoiding future security, allocation, and misconfiguration issues.

Bonus bonus bonus!

11- Kubectx/kubens and Kubectl-aliases

This extra tip, shared by my friend @Mateus Caruccio, I offer to all sysadmins! With these two tools, no one gets tired of typing extensive Kubectl commands and navigating between contexts, clusters, and namespaces. The two plugins, combined with the set of aliases for the Linux terminal, allow you to reach resources and navigate daily troubleshooting with more agility.------If you have questions or comments, write to me at: adonai@getup.io.  Be kubehappy!

Operating Kubernetes in production for more than 13 years. With Quor, this experience extends to software supply chain security as well.