How to Scale End-to-End Observability in AWS Environments

Kubernetes Tools Digest (Nov 2021): Represents All K8s Objects in a Graph

in Kubernetes

New TCIO June 14 2021.png

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.

    Source: https://github.com/Schille/caboto Source: https://github.com/Schille/caboto

    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:
    editorial
    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

    How to Scale End-to-End Observability in AWS Environments

    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 …