How to get started with Helm on Kubernetes?

How to get started with Helm on Kubernetes?  zekeLabs
Posted on Aug. 4, 2020, 3:23 p.m.

 Helm with Kubernetes - Banner Image

What is Helm?

Helm is a package manager, which provides an easy way to manage and publish applications on the Kubernetes. It was first built by the collaboration between Dies and Google in the year 2018. While working with Kubernetes, Helm is useful in the following ways:

  1. To search, download, and use popular software packages as Helm charts, that are built by the community.
  2. To share your own applications as charts, to enable your clients a push-button deployment.
  3. To create and reproducible builds of your Kubernetes applications.
  4. To intelligently manage and version control your Kubernetes object definitions.
  5. To manage releases in different environments such as dev, test, and production.
  6. To reuse the reduce the development effort. 
  7. To automate and make your installations easier.

All the above benefits effectively make Helm as the de-facto standard for Kubernetes package management.

For more details about Helm and how it is used in a Kubernetes network, we recommend reading our blog What is Helm in Kubernetes? before you proceed with the installation of Helm.

 

Download Helm 3

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

 

Install Helm

chmod 700 get_helm.sh

./get_helm.sh

 

Add the official chart repository

helm repo add stable https://kubernetes-charts.storage.googleapis.com/

 

Install MySQL chart

 helm search repo stable

 helm search repo mysql

 helm repo update

 helm install stable/mysql --generate-name

 

Behind the scenes

If you want to see what just happened, find the .cache directory in the $HOME path, and unzip the tarred file. You will find Chart.yaml file with some information about the chart, Values.yaml file with the default values, and multiple manifests for various Kubernetes objects, such as deployment, services and service accounts, etc. It also creates a _helpers.tpl file, to put the template helpers that you can re-use throughout the chart.

Another useful file is the NOTES.txt file. This gets printed out on the terminal after the chart is successfully deployed. This would be a very useful file while making the Helm chart as it is a useful place to briefly describe the steps for using a chart. The NOTES.txt file can be used to print out working commands for obtaining an IP address or getting a password from a Secret object. 

cd .cache/helm/

tar -zxvf mysql-1.6.2.tgz

cd mysql/

vim Chart.yaml

vim values.yaml

To dig deeper in Helm syntax please refer to the Guide in Helm

 

Create a chart

It's really easy to create a chart in Helm  

The first thing to create a Helm chart is to use the Helm create command, which will give you a platform for building your own chart.

Run the following commands on the Terminal - 

$ helm create mychart

Creating mychart

When you go into the directory  mychart/templates/ , there are a few files that are already present there. They are:

  • NOTES.txt: The "help text" for your chart. It will be displayed by running the command "helm install”.
  • deployment.yaml: A basic manifest to create a Kubernetes deployment
  • service.yaml: A basic manifest to create a service endpoint for your deployment
  • _helpers.tpl: A place to put template helpers that you can re-use throughout the chart

Try:

helm install --debug --dry-run <name-of-release>

As you develop your chart, you could use a command Helm lint which will help you understand whether your templates are well-formed. If the lint does not find any issue with the document then you are good to go, but if it spots any error it will alert you with it. 

 

Congratulations you have created your first chart using Helm!

 

And while you are here, you can check out our training in Helm to know more about this technology.


zekeLabs - an L&D Guardian and a pioneer of the Proactive Revolution, is the most zealous organization with in-house subject matter experts (SMEs) & technology evangelists in India and Southeast Asia.




Keywords : helm kubernetes microservices Technology


Recommended Reading


Get Kubernetes Certified

Kubernetes is increasingly becoming the de-facto standard for container-orchestration. It is used for deploying and managing microservice-based applications. It also helps in scaling and maintaining as well. It is open-source software that was initially rel...


What is Helm in Kubernetes?

In this article, we would be discussing what Helm is and how it is used for the simple deployment of applications in the Kubernetes network. Continue reading to learn more about Helm in Kubernetes.


How to install Kubernetes Clusters Using Terraform?

Kubernetes is a container orchestration platform that can be used to deploy and manage a containerized applications. Generally, Microservices-based applications are first converted into Docker (or other container runtimes) images and then these microservice...