How to monitor clusters on Kubernetes: three open tools – one of them in a game format

This is our compact collection of free tools to evaluate the performance and stability of containerized applications.

Under the cut – cluster monitoring system Kmoncon, development environment Lens with benchmarking functions, as well as a utility for stress testing nodes in a computer game format.


Photo – Ellen Qin – Unsplash


Kmoncon

This is a system for monitoring the connections of nodes in a Kubernetes cluster. It was developed by engineer Karl Stoney, who maintains cloud infrastructure and containerized applications at Auto Trader UK (one of the largest used car marketplaces in the UK).

Kmoncon checks TCP, UDP, and DNS connections (tests run every five seconds). The assessment is based on modified metrics Prometheus – Node names and availability zones have been added to the standard parameters. The instrument is compatible with other L7-level monitoring systems such as Istio Observability or Kube State Metrics… According to the author, for a cluster of 75 nodes, the system consumes only 40 MB of RAM.


/ Screenshot of the Kmoncon dashboard / Github

It is worth noting that the project is young, so there are bugs in its work. One of the well-known is the slow updating of the list of nodes. Because of this, the system sometimes tries to test already deleted nodes and gives an error. The author plans to correct this deficiency. He also says that the size of the Docker image is still poor at 130MB.


Kube-chaos

It is a tool for interactively testing the reliability of Kubernetes clusters. It is implemented in the format of a computer game on the Unity engine. You run virtual “spaceship” and shoot at the glowing squares, which are real pods. Each of them has a certain amount of health. When it ends, the game sends a command destroy pod through kubectl and removes the corresponding pod.


/ Kube-chaos gameplay / Github

By destroying pods in random order, you can check how the system reacts to it and how quickly it recovers. This method is called Chaos Engineering

To install the game on his cluster, the author suggests using arkade Is a CLI for Kubernetes that lets you deploy applications with a single command. Although it is worth noting that the project is PoC and probably not worth working with in production.


Lens

Integrated development environment (IDE) for Kubernetes, optimized for working with a large number of pods (up to 25 thousand). She is able to visualize the state of the cluster in real time and build graphs showing the resources involved (using Prometheus metrics).

Lens is a stand-alone application (no agent deployment required within the cluster) that installs on a Linux, macOS, or Windows computer. The first version of the tool was presented by Kontena, but today it is being developed by Lakend Labs. She promotes and supports open source projects for the cloud.

The project is relatively young, but a large community has already formed around it. Lens is the second most popular project on GitHub in its category and has 8.2K ​​stars


What we write about in our corporate blog:

A selection of books on cybersecurity: how to conduct a penetration test and what to oppose to social engineering
You can’t just take and “reflash” your gadget
Which cables will connect Africa, Asia and Australia
Benchmarks for Linux Servers


Similar Posts

Leave a Reply