Kubernetes Deployment: 15 Tools against Container Complexity

Kubernetes Deployment: 15 Tools against Container Complexity

Kubernetes is complex. These tools provide a remedy and support you with monitoring, command-line ops and multi-cluster management. […]

Kubernetes has become THE standard procedure for many experts to deploy containerized applications on a large scale. The technology helps to take the fright out of increasingly complex container deployments. However, Kubernetes itself is rather complex, confusing and difficult to manage.

True, Kubernetes continues to grow and prosper, and, undoubtedly, many of its excesses are tamed within the framework of various projects. However, some users do not want to wait for others to make it easier for them to work with Kubernetes. They have developed their own solutions for common problems with Kubernetes in productive operation. We show you 15 tools that make Kubernetes life easier.

Goldpinger

Man is a visual being. Graphs and charts make it easier for us to understand the big picture. If you consider the scope and complexity of a Kubernetes cluster, any visual help is welcome. Goldpinger, developed by Bloomberg’s tech department, is a simple tool that runs inside a Kubernetes cluster and creates an interactive map of the relationships between the nodes. Healthy nodes appear in green, unhealthy ones in red. A click on the respective node brings up details. To integrate additional reporting, metrics or other integrations, the Goldpinger API can be customized with Swagger.

K9s

Admins love “Single Pane of Glass Utilities”. K9s is a full-screen CLI user interface for Kubernetes clusters. It provides an overview of running pods, logs and deployments as well as quick shell access. In order for K9s to work properly, you need to grant Kubernetes users read permissions at the user and namespace level.

Kops

Developed by the Kubernetes team, this tool makes it possible to manage Kubernetes clusters from the command line. It supports clusters running on AWS and Google Compute Engine –GCE) – support for VMware vSphere and other environments is in the pipeline. In addition to automating the setup and teardown process, Kops also helps with other types of automation and can, for example, generate Terraform configurations to redeploy a cluster with Terraform.

Kubebox

This advanced terminal console for Kubernetes has more than just a recognized shell and an associated API up its sleeve: Kubebox offers interactive displays of memory and CPU usage, lists of pods, running logs and configuration editors. The best part: Kubebox is available as a standalone app for Linux, Windows and macOS.

Kube-applicator

This Kubernetes service fetches declarative configuration files for a Kubernetes cluster from a Git repository and applies them to the pods in the cluster. When changes are made to the definition files, they are retrieved from the repository and applied to the relevant pods. In essence, Kube-applier works like Google’s Skaffold, with the difference that it is intended for managing an entire Kubernetes cluster, and not a single application.

Kube-applier can make configuration changes according to a set schedule or as needed. The tool logs its behavior at every execution and offers Prometheus-compatible metrics to make it understandable how it affects the cluster.

Kubehelper

Who can resist the lure of an all-in-one dashboard? Kubehelper combines a whole range of common management tasks and data views for Kubernetes in a single, clear web interface. It allows users to search clusters for resources, execute commands, check security details, work with labels/annotations/selectors, manage cron jobs and much more.

Kube-ps1

No, this is not a Kubernetes emulator for the first-generation Sony PlayStation. Kube-ps1 is an add-on for Bash that displays the current Kubernetes context and namespace in the command prompt. You can also get these and many other functions with Kube-shell – but then with a lot of overhead.

Kube-prompt

Another minimal but useful modification of the Kubernetes CLI is Kube-prompt, which allows you to start a kind of “interactive command session” with the Kubernetes client. Kube-prompt saves you from having to enter kubectl as a prefix, and provides auto-completion with contextual information.

Kubespy

This diagnostic tool from Pulumi lets you track changes to a Kubernetes resource in real time and also offers a kind of text dashboard for overview purposes. For example, you can track the changes to the status of a pod at boot: the pod definition is written in Etcd, the pod is scheduled to run on a node, the kubelet on the node creates the pod, and the pod is finally marked as running. Kubespy can be run as a standalone binary or as a plug-in for Kubectl.

Kubeval

Although the YAML configuration files of Kubernetes are human-readable, this does not mean that they can also be validated by humans. It’s easy to miss an omitted comma or accidental greasing. So that you do not notice this only when it is too late, it is recommended to use Kubeval. The tool is either used locally or integrated into your CI/CD pipeline, records a Kubernetes YAML configuration definition and reports its validity back. Kubeval can generate output in JSON or TAP format and can even analyze the source templates referenced in a helm chart configuration without additional input.

Kube-ops-view

Kubernetes has a useful dashboard for general monitoring, but the community is experimenting with other ways to prepare data for administrators in a meaningful way. One such experiment is Kube-ops-view. The tool provides a comprehensive, graphical overview of several Kubernetes clusters and clearly summarizes CPU and memory usage and the status of pods in a cluster. You should note that Kube-ops-view is used exclusively for visualization.

Mizu

Visualization is the key to understanding what is going on inside and between the components of a Kubernetes cluster. Mizu takes care of the latter part and displays running logs of API traffic between microservices for many common protocols (HTTP, AMQP, Kafka, Redis). The tool can display the traffic of all pods, a subset or a specific pod. The traffic can also be validated using common terms or contracts specified by the OpenAPI specification.

Rio

This Rancher Labs project implements common application delivery patterns in Kubernetes, such as continuous delivery and A/B or blue/green deployments in Git. Rio can deploy a new version of your application and help you manage complex operations such as DNS, HTTPS and service meshes.

Star and Cubetail

Stern can generate outputs from Kubernetes pods and containers with color encodings (as with the tail-Command). The tool provides a quick way to route all the ouputs of multiple resources into a single stream that can be read at a glance. At the same time, color coding makes it possible to distinguish the streams at a glance.

Kubetail summarizes the logs of several pods in a similar way in a single stream, color-coding the different pods and containers. However, Kubetail is a bash script that just needs a shell.

This article is based on an article from our US sister publication Infoworld.

*Serdar Yegulalp is an author at InfoWorld and runs the InfoWorld Tech Watch news analysis blog, among other things.

Tech Outsourcing | Dedicated Software Team

Ready to see us in action:

More To Explore

IWanta.tech
Logo
Enable registration in settings - general
Have any project in mind?

Contact us:

small_c_popup.png