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 is the Kmoncon cluster monitoring system , the Lens development environment with benchmarking functions, and a utility for stress testing nodes in a computer game format.





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 Prometheus metrics - node names and availability zones have been added to the standard parameters. The tool 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 control a virtual "spaceship" and shoot at glowing squares that represent real pods. Each of them has a certain amount of health. When it ends, the game sends the destroy pod command via kubectl and removes the corresponding pod.





/ Kube-chaos gameplay / GitHub



By shredding pods at random, 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 your cluster, the author suggests usingarkade is a CLI for Kubernetes that lets you deploy applications with a single command. It is worth noting though that the project is a 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 has8.2 thousand 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








All Articles