Deploy Kubernetes Helm Charts in Minutes

Pavan Belagatti - May 11 '23 - - Dev Community

With the ever-increasing popularity of Kubernetes, the cloud-native landscape is gaining attention in developer communities. Helm, on the other hand, came as a saviour to help developers with Kubernetes-related deployments by making them super simple with the so-called 'Helm Charts'.

A Helm chart consists of all the necessary YAML manifests and templates that are needed to describe Kubernetes resources (Deployments, Secrets, CRDs, etc.) and other configurations needed for the Kubernetes application. Every application can now be packaged as a Helm chart and deployed wherever you want.

Today, in this tutorial, I'll show you how you can deploy any publicly available Helm chart in minutes using Harness CD.

Prerequisites

  • Free Harness CD account with free builds to deploy our helm chart.
  • A Kubernetes cluster access from any cloud provider.

Tutorial

Login to your Harness CD module and start your free plan where you get free builds.
Harness CD module

In this tutorial, we will take Grafana Helm chart as an example to deploy. The Grafana chart is available here - https://github.com/bitnami/charts/tree/main/bitnami/grafana

Create a project to start with and name it.
create project

Invite collaborators to your project if you want
Invite collaborators

Select 'Continuous Delivery' from the modules available.
cd module

For this deployment pipeline, we need Harness Delegate to be up and running. Let's create the Harness Delegate.
Harness delegate setup

So, what is Harness Delegate?
Delegate is a service that runs on your infrastructure to execute tasks on behalf of the Harness platform.

Now, you need to install this Harness Delegate on your Kubernetes cluster.

Make sure you have a cluster access from any cloud provider.
You can also use Minikube or Kind.
Installing delegate

Follow the step-by-step guide as shown and install the Delegate.
delegate installation

Once done, verify if the Delegate has been installed successfully.
delegate successful

Once the Harness Delegate is installed, go back to the pipeline dashboard and create a pipeline.
create pipepine now

Name the pipeline and make sure to select 'Inline' setup for your pipeline.
Inline setup

Next, select the 'Deploy' stage and continue.
deploy stage

Name the stage and deployment type as 'Native Helm'.
native helm

Continue to create a service and add the manifest details.
add manifest details

Add manifest type as 'Helm Chart'
details of manifest

Specify Helm chart store as 'HTTP Helm'
http helm store

Add the Helm store details
helm store details

Create a new HTTP Helm repo connector.
helm repo connector

Add all the required details
helm http details

Finally connect your manifest details with the Delegate running.
connect with delegate

Make sure the connection to the Delegate is successful.

Add the final manifest details
mani details

Save everything and you can see the manifest details added for the service.
manifest service details

Next, specify the environment and the infrastructure.
Create a pre-prod environment and select 'Kubernetes' as the infrastructure.
env and infra

Select the execution strategy as 'Rolling'
select the deployment type

Finally, this is how your pipeline should look like.
Helm deployment

Save everything and run the pipeline. You should see a successful Grafana Helm chart deployment.
grafana chart

You can access the service from the logs shared in the console.
access the service

handle the connection

Get the Grafana credentials.
Image description

Open the http://localhost:8080/ on your machine and you should see the Grafana login page.
grafana login

Login with the credentials and you should see the Grafana dashboard.
Grafana dashboard

This way, we can easily deploy any publicly available Helm chart using Harness CD.

This way, you can easily deploy any Helm charts from this public repo - https://github.com/bitnami/charts/tree/main/bitnami in just minutes.

Try Harness CD, the most advanced and trusted continuous delivery platform.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .