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