A brief introduction to the use of Helm

Learn what Helm is and how you can use it to install applications into Kubernetes clusters.

A brief introduction to the use of Helm
Photo by Elliot Parker / Unsplash

What is Helm?

Helm is a package manager and deployment tool for managing applications on Kubernetes, an open-source container orchestration platform. It simplifies the deployment and management of complex applications by providing a templating system and a centralized repository of pre-configured application packages called Helm Charts.

By utilizing Helm, you can streamline the deployment, management, and versioning of your Kubernetes-based applications, promoting consistency and repeatability in your infrastructure.

What is a Helm Chart?

A Helm Chart is a collection of files that describe a set of Kubernetes resources. It includes templates, default configurations, dependency information, and metadata. Charts can be easily versioned, shared, and distributed through Helm repositories.

What are Helm repositories?

Helm Repositories are remote locations where Helm Charts are stored. These repositories can be public or private and allow you to discover and install charts from a centralized source.

How to work with Helm repositories

Working with Helm repositories involves several steps, including adding and managing repositories, searching for charts, and installing charts from repositories. Here's a general overview of how to work with Helm repositories.

Add a Helm Repository

Before you can use a repository, you need to add it to your Helm configuration. Helm maintains a list of repositories that it can query for charts. To add a repository, use the following command:

helm repo add <repository-name> <repository-url>

Replace <repository-name> with a suitable name for the repository and <repository-url> with the URL of the repository.

Update Repository information

After adding a repository, you should update the local repository cache to fetch the latest information about available charts. Use the following command to update the repository:

helm repo update

Search for Charts

Once the repository is added and updated, you can search for charts within the repository. You can use the search command to find charts by name or keyword:

helm search repo <chart-name>

Replace <chart-name> with the name or keyword related to the chart you are searching for.

Work with Helm releases

When you install a Chart you create a Helm Release, which basically represents an instance of a Helm Chart deployed in a Kubernetes cluster. It corresponds to a specific version of an application and includes all the Kubernetes resources and configurations defined in the chart.

💡
The Release Name needs to be unique in the namespace you want to install the Helm Chart.

Install a Chart

To install a chart from a repository, use the install command along with the repository name and chart name:

helm install <release-name> <repository-name>/<chart-name>

Replace <release-name> with a name for the release (instance of the chart) and <repository-name>/<chart-name> with the repository name and chart name.

You can also customize the installation by providing additional flags or specifying values through a value file or inline values, like shown here:

# define configuration through a value file
helm install <release-name> --values=values.yaml <repository-name>/<chart-name>

# define configuration using inline values
helm install <release-name> --set <attribute>=<some-value> <repository-name>/<chart-name>

Manage Releases

Helm provides commands to manage and manipulate releases. You can upgrade, rollback, delete, or inspect releases using commands like upgrade, rollback, delete, and list. Refer to the Helm documentation for more details on managing releases or take part in my Instructor-led training:

Helm Charts - Application and Installation
Administer and deploy applications in Kubernetes using Helm.