All about Komodor :- A Kubernetes Troubleshooting Platform and more
Tags: cloud, kubernetes, devops, startup
Published: 2022-04-06 12:35:50



## About Kubernetes

Kubernetes (also known as k8s or “kube”) is an open source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications.

You can cluster together groups of hosts running containers, and Kubernetes helps you easily and efficiently manage those clusters.

Kubernetes clusters can span hosts across on-premise, public, private, or hybrid clouds. For this reason, Kubernetes is an ideal platform for hosting cloud-native applications that require rapid scaling.

In Short , Kubernetes is a tool which helps you to manage, scale and deploy your application to multiple machines.

## Issues with Kubernetes 

As most of us know, deployment failure messages on Kubernetes are complex and not intuitive for debugging. Users need to identify the errors from pod logs, pod events(describe pod), pod status, etc. Developers spend a lot of time and effort demystifying the cryptic messages K8s throws up, perfectly valuable time that could have otherwise gone in building core functionalities of the application. 

## Komodor Enters 

Here Komodor makes things interesting by handling the k8s-Native Troubleshooting , so that developers can save a lot of time actually developing instead of wasting hours of their valuable time troubleshooting and focus on building interesting stuff.

Komodor tracks changes across your entire K8s stack analyzes their ripple effect and provides you with the context you need to troubleshoot efficiently and independently. At Komodor's main dashboard you can :-
1. Monitor the health status of your microservices live and which resources aren't running . All at one dashboard which has a beautiful UI. 
2. Event Logs track the changes made over time and what deployments that have happened over time. 

**Pre Requisites before getting started with Komodor**
[**Helm**](https://helm.sh/) helps you manage your Kubernetes applications , make sure that helm is installed in your system before proceeding forward.
here is the link to installation documentation of Helm :- https://helm.sh/docs/
## Getting Started With Komodor . 


When you log into komodor initially you'll observe a blank screen which says "no service" .

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/849jin8d4491o25lryoz.png)

There is no need to worry as you haven't connected Komodor with your kubernetes cluster as of now .

On the bottom left of the integration page , you'll observe a kubernetes icon which says 'add cluster' . Click on That .
This step is important as you are letting Komodor know your cluster name , So that they can start working on integrating to your cluster.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9uj4k6pxvtsrxn3rqzba.jpg)



Now a small window will open where you'll have to enter your cluster . Enter your K8s cluster name , it can be old and new .
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jzsmobbrea056zhov1mi.png)

Now you'll get a command and an icon on the right an icon "copy" . Click on the icon so that the command is copied . Now open the command line of your system and run the command . [Note:- make sure [**Helm**](https://helm.sh/) is installed in your system otherwise it won't work]
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e0mgd914lj20h546kbi0.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x75ei85ihyxfdg8rtskp.png)
If you are getting a window shown in above image , then congratulations as Komodor has been added to your cluster and it has started doing it's work . Now you can monitor the health and event logs of your microservices running on your k8s .
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/85yn3o0mjrpsuwu7jkwk.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fv0n0ndya17xdytasjzw.png)
  
  
 

**_Komodor Integrations you should check_**


Komodor has many integrations which make your whole k8s troubleshooting more productive . Integrating Slack is one such brilliant idea so that you can get live notification of your cluster's health and events on your device . It makes your DevOps Experience more productive . They have many integrations like Github ,Gitlab ,Datadog ,Slack ,Sentry ,MS Teams ,Okta, Grafana and more in the future.


## Cherry on Top : ValidKube

[ValidKube](https://validkube.com/) is a new [open-source](https://github.com/komodorio/validkube) tool by komodor that combines several tools to make it easier to validate, clean, and secure Kubernetes YAML configuration files.
ValidKube is a browser-based tool, which means it is immediately accessible to anyone willing to try it out without needing to install the individual tools. It has 4 tools which are available on Github. Just enter the YAML and let ValidKube Handle the rest.

**1. Validate**
 Using ValidKube, you can Validate your YAML files. It can help you fix the indentation also add, remove and rearrange things according to the actual YAML and Kubernetes schema. It is available as a open source repository as Kubeval .
https://github.com/instrumenta/kubeval

By running the provided YAML file by ValidKube, you will see this output:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/txr0mzr7qucxdq9h8lwa.png)

**Clean**
Now let’s talk about how you can use the "Clean" feature of ValidKube to clean and enhance your YAML files with an instant click. It's repository kubectl-neat is https://github.com/itaysk/kubectl-neat
It works as shown in image below :-
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mgkxr9flkm6g4xxt9fa1.png)
 

**Secure**

Kubernetes manifest needs to be secure and ValidKube helps us to achieve that with the help of the Aquasec team. The same YAML file mentioned above, we will run it through the "Secure" feature of ValidKube and let's see the results:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lv7vz2uskscn3su7wbs0.png)
It's Open source repository is named as trivy and it's repository is https://github.com/aquasecurity/trivy 

**Polaris**

A recent addition to ValidKube family , Fairwind's Polaris keeps your clusters sailing smoothly. It runs a variety of checks to ensure that Kubernetes pods and controllers are configured using best practices, helping you avoid problems in the future.

Polaris can be run in three different modes:

- As a dashboard, so you can audit what's running inside your cluster.
- As an admission controller, so you can automatically reject workloads that don't adhere to your organization's policies.
- As a command-line tool, so you can test local YAML files, e.g. as part of a CI/CD process.
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fqkc45hfgrmqegd5gvhy.png)
It's open source repository is https://github.com/FairwindsOps/polaris

All of the features of ValidKube are Open Source , So feel free to add more tools and capabilities to ValidKube . Star all the repositories as it motivates the devs to do more .

##This this a blog written and inspired by a [video](https://www.youtube.com/watch?v=GNPS0sAajQ0) by Viktor Farcic who has a channel Devops [Toolkit](https://www.youtube.com/channel/UCfz8x0lVzJpb_dgWm9kPVrw)