Devtron Makes Helm Debugging and Logging Easier

2 years ago   •   5 min read

By Anugrah Chaturvedi, Abhinav Dubey,

App management is a challenging aspect of Kubernetes, and the Helm project greatly simplifies this by providing a uniform software packaging method that supports version control.

If you’ve come to this blog post, you’re probably interested in ways to be able to trust that everything will go well when you make a deployment using helm charts. Maybe you’re hoping that if things go wrong, you can quickly find the info you need to troubleshoot and minimize downtime. Maybe you are facing Issues in managing 100s of applications deployed or maybe the logs of these applications.

All these challenges can easily be addressed by an open-source tool called Devtron

What is Devtron?

Devtron is a lightweight dashboard for Kubernetes deployments, packed with full-fledged debugging features enabled with resource grouping for easier debugging for the development and Infra team.

Kubernetes can become very complex with all the objects you need to handle such as ConfigMaps, Services, Pods, Persistent Volumes, etc in addition to the number of releases you need to manage. For all these challenges, Devtron is your one-stop solution. It provides an intuitive dashboard to deploy applications using helm charts, get the live status of deployed workloads, and a lot more. Let's directly jump into the hands-on part and see how it can be a good fit for all your helm challenges.

To Install Devtron in your cluster please have a look at their well-structured documentation

[Note: The only prerequisite for Devtron installation is to have a k8s cluster]

How to manage helm workloads using Devtron


Add your custom repository in few clicks

Instead of working around CLI to add a Custom Helm repository in your Cluster, Devtron gives you a dashboard to add your repo & not only this, you can validate your repository by performing dry Run in just one click.

To Add a new repository go to Global configurations > Chart Repository > Add repository  > Provide Name & URL > Save. It will save your chart repository & validate your chart by connecting to the Kubernetes API server.

Add Helm Repository
Add Custom Repository

Chart Store to see all available charts in your cluster

Devtron provides you Chart Store section where users can see all available charts all at once, search for Particular Chart by applying filters & also deploy them in Kubernetes cluster.

Chart Store of All available Charts

How Devtron takes off the burden of logs from your shoulder

Logging is unquestionably one of the most critical considerations when developing containerized applications. Log management enables teams to debug and resolve issues more quickly, making it easier to discover problems, spot bugs, and ensure they don’t resurface. Devtron takes this consent seriously and has been understanding the significance of logging.

It provides you with detailed logs, events & insight into resources such as nodes, pods, containers, deployments, and replica sets. This insight allows you to observe the interactions between those resources and see the effects that one action has on another.

To See logs of  your Application go-to Application bar > Helm Apps > Filter Namespace (where Application is Running) > Select the Application > App Details > Workloads > Pod > Hover over Pod Name > Click on Logs

Runtime Logs on Devtron dashboard
Application Logs 
Runtime events at Devtron dashboard
Event

Deployment History to show revision of your chart

Let's say you deployed different release versions of your application (i.e., you upgraded the running application). How do you keep track of the versions and how can you do a rollback?
Devtron comes with the Deployment history section where you can see Revisions of your charts with their Corresponding values.yaml file.

Deployment history of Helm Releases
Deployment History 

Now let us look at the debugging capabilities of Devtron


In this scenario, we Deploy the helm application with the help of Devtron and change some parameters in values.yaml file that causes our application forcefully Degraded, then we let Devtron find the Error.

Step 1- Deploy with default values

Find & deploy the chart, from the chart store in Devtron, you can choose any chart. For the sake of testing, I am using bitnami/nginx.

Once the chart is deployed, you can check out all the details of the chart in the App Details tab and see the workload, application status, deployment status, etc as you can see in the image below.

Devtron app details page
App Details Dashboard


Step 2- Degrade application forcefully

To degrade the application forcefully, go to Values tab, search for Image & change the tag value

FROM:

image: 
 debug: false
 pullPolicy: IfNotPresent
 pullSecrets: []
 registry: docker.io
 repository: bitnami/nginx
 tag: 1.21.6-debian-10-r48

TO:

image:
 debug: false
 pullPolicy: IfNotPresent
 pullSecrets: []
 registry: docker.io
 repository: bitnami/nginx
 tag: 1.21.5-debian-10-r48

Click on Update & Deploy , this will degrade your application & the dashboard would look something similar to the below image.

Devtron app details tab, degraded
App Details Dashboard

Now here Devtron comes into action, It automatically categorized application into three parameters.

Healthy - Workload are running fine & no action required.

Degraded - Something is wrong with workload & Immediate action is required.

Progressing - Workload is still deploying.

In this case, as you can see the newly created pod has gone into a Degraded state, let’s hover the pod, you will get the option to check logs, events, etc. Click on events and you can easily get the issue with this new deployment. In our case, it was not able to pull the image as you can see in the below image.

Devtron events dashboard
Event

Error Message :Back-off pulling image "docker.io/bitnami/nginx:1.21.5-debian-10-r48"

Step 3- Resolve the error & redeploy

As we had found the Error, it's time to resolve that error.  again go to values > Update the Image with correct tag > Click on  Update & Deploy

tag: 1.21.5-debian-10-r48 to tag: 1.21.6-debian-10-r48

update & deploy, values tab in Devtron
Update And Deploy

So what next? Now it's your turn to get your hands dirty

Devtron is undoubtedly a revolutionary tool if we talk about helm workloads, Since it is open source your, valuable recommendation will be considered by the support team of Devtron Inc. We hope it’s clear that in many cases the Devtron comes best open source tool for debugging your application & check the logs of workloads & troubleshoot errors for k8s cluster.

Devtron not only solves all your Helm problems, it also comes with a ci-cd integration which allows you to integrate multiple open source & enterprises tools seamlessly with Devtron and enables the software development teams to focus on meeting the business requirements, code quality, and security.

Spread the word

Keep reading