Kubernetes Tools Digest (Nov 2021): Represents All K8s Objects in a Graph
in Kubernetes
These 5 Kubernetes tools are not as popular as Helm, Prometheus, or Istio, but they sure can make your development process more straightforward.
Every month, we curate the best tools from our weekly Kubernetes newsletter based on the interest that our subscribers showed. These tools have been discussed in this article.
Kubernetes being a platform for managing and orchestrating, has won the hearts of many and is still used to solve more problems, and its adoption keeps growing bigger.
With the wide adoption kubernetes have, its ecosystem has also grown comprehensive to the extent that you’ll hardly see any cloud-related problem that won’t have kubernetes or one of its associated tools be part of the solution. As earlier said, kubernetes has a big ecosystem of tools; we will briefly discuss some 5 kubernetes tools that you probably haven’t heard of but will undoubtedly ease some stresses you have in Kubernetes.
Gefyra
This is a Kubernetes tool written in Python to give developers the edge of writing and testing applications in a new way.
It is a tool that allows developers to have a local set up for development, either for Kubernetes or with Kubernetes. The tool has some benefits attached to it including, writing code in the IDE you’re used to, the ability to run feature-branches with adjacent services in a production-like kubernetes environment, using neat development features such as a debugger, and override environment variables. Gefyra can be used as soon as it’s installed on your computer. Gefyra controls locally installed kubernetes and Docker using Kubernetes Python Client. Once Gefyra gets installed, some conditions need to be met;
- Available Docker host for the user on the same machine that Gefyra is installed
- Container capabilities are required on both the computer and Kubernetes cluster.
- A node port needs to be open during development on the development cluster.
The tool aims to save developers the stress of switching back and forth by bringing the integration system closer to the developer and shortening the development cycles. The tool provides convenience for developers through its low setup time, high release cadence, and rapid development.
Before using Gefyra with Kubernetes, it does need a Kubernetes cluster, and there are Kubernetes distributions already made available on the local machine, but a KUBECONFIG connection is required. Cloud-based K8 clusters can be used as well.
A development setup triggers Gefyra to install any required cluster-side component then it becomes able to control both the development cluster and the machine.
After the development work is concluded, Gefyra totally removes all previously installed components. For Gefyra to execute all the above mentioned
- It needs to have a tunnel connecting the development cluster and machine
- A local end of the tunnel
- A cluster end of the tunnel
- A DNS resolver
- IP routing mechanisms
- A traffic interceptor
Gefyra builds on open source technologies like Wireguard, Docker, CoreDNS, and Nginx.
Kubecfg
Kubecfg is a tool predefined to handle complex infrastructures. It manages Kubernetes resources as code and lets you reuse templates from patterns across your infrastructure on other services. Kubecfg has features like additional jsonnet built-in functions and optional garbage collection of removed objects from config. You can manage the templates/configuration as files in version control until the desired state of the configuration gets captured entirely. This can make its recreation easy to a QA cluster or recovery from disaster.
Kubecfg supports YAML, JSON, or jsonnet files. It relies on jsonnet to describe Kubernetes resources.
KubeScrape
KubeScrape is an open source monitoring tool used in Kubernetes health tracking, metrics view, and cluster structure.
KubeScrape has a set of 5 pages for easy usage and tracking. There is the home page which is also the page that shows the cluster health and any important information about the cluster.
There is the node details page which shows basic information about your pods for a particular node. If you click on any pod, it will take you to the pod details page with all the graphical representations of CPU usage and saturation, Memory usage, and saturation for each container of that particular pod. Then there are the alert page and the visualizer page. The alert page shows the alerts in the firing state tracked by Prometheus. The Visualizer page shows a relational diagram of your Kubernetes cluster objects.
Caelus
It is a set of solutions for reusing idle kubernetes resources of nodes by running extra batch jobs. The resources are from underutilized online jobs during low-traffic periods. Caelus manages multiple resource isolation mechanisms and checks metrics for abnormalities to make the batch jobs compatible with online jobs.
Caelus can run batch jobs on YARN or Kubernetes and also predicts the total usage of nodes. It can throttle or kill batch jobs if abnormalities like latency spikes are detected.
Caboto
Caboto is a Kubernetes semantic analysis toolkit that contains a lightweight Python library for analyzing plain Kubernetes manifests without running a cluster.
All Kubernetes objects are represented in a graph structure based on NetworkX, a Python package for complex networks.
Caboto can also run as a CLI script. You can also plot the Caboto graph with mathplotlib
Get similar stories in your inbox weekly, for free
Share this story:
The Chief I/O
The team behind this website. We help IT leaders, decision-makers and IT professionals understand topics like Distributed Computing, AIOps & Cloud Native
Latest stories
How ManageEngine Applications Manager Can Help Overcome Challenges In Kubernetes Monitoring
We tested ManageEngine Applications Manager to monitor different Kubernetes clusters. This post shares our review …
AIOps with Site24x7: Maximizing Efficiency at an Affordable Cost
In this post we'll dive deep into integrating AIOps in your business suing Site24x7 to …
A Review of Zoho ManageEngine
Zoho Corp., formerly known as AdventNet Inc., has established itself as a major player in …
Should I learn Java in 2023? A Practical Guide
Java is one of the most widely used programming languages in the world. It has …
The fastest way to ramp up on DevOps
You probably have been thinking of moving to DevOps or learning DevOps as a beginner. …
Why You Need a Blockchain Node Provider
In this article, we briefly cover the concept of blockchain nodes provider and explain why …
Top 5 Virtual desktop Provides in 2022
Here are the top 5 virtual desktop providers who offer a range of benefits such …
Why Your Business Should Connect Directly To Your Cloud
Today, companies make the most use of cloud technology regardless of their size and sector. …
7 Must-Watch DevSecOps Videos
Security is a crucial part of application development and DevSecOps makes it easy and continuous.The …