---
title: "Helm for Kubernetes | Hostman Docs"
description: "Learn how to install Helm, manage chart repositories, deploy Kubernetes applications, customize configurations, and perform updates or rollbacks with ease."
---

> For the complete documentation index for AI agents, see [llms.txt](https://hostman.com/llms.txt).

Helm is a tool for managing Kubernetes applications, simplifying the deployment, updating, and maintenance of complex applications that consist of multiple Kubernetes objects. Essentially, Helm can be compared to a package manager for Kubernetes, similar to `apt` or `yum` in Linux, but specifically adapted for managing [Kubernetes clusters](https://hostman.com/products/kubernetes/).

Helm addresses several key tasks:

-   **Simplified Deployment**

Applications can be made up of dozens or even hundreds of Kubernetes objects, such as pods, services, configurations, and more. Helm consolidates these into a single package called a **chart**, which can be deployed with a single command. This approach significantly reduces the complexity of manually configuring applications.

-   **Version Control for Applications**

Each chart can have multiple versions, making it easy to roll back to a previous version or update an application. Helm supports version control, tracks changes in deployed applications (releases), and allows rollbacks when necessary.

-   **Reusable Configurations**

Helm uses templates to generate Kubernetes configuration files, simplifying the customization of parameters such as the number of replicas, network access settings, databases, and other variables. These settings are stored in a special configuration file `values.yaml`. This allows the same chart to be used across different environments (development, testing, production) with minimal modifications.

-   **Centralized Repository Management**

Charts are stored in repositories, which can be either public or private. Helm allows adding, updating, and installing applications directly from different repositories. For example, the popular Bitnami repository contains many ready-to-use charts for various services.

## Installing Helm

> [!NOTE]
> Helm is closely tied to the [Kubernetes](https://hostman.com/products/kubernetes/) version, so it’s essential to **choose a version compatible with your cluster.** You can refer to the Helm and Kubernetes compatibility table in the [official documentation](https://helm.sh/docs/topics/version_skew/#supported-version-skew).

### Linux

To install Helm on Linux, you can use the official script for automated installation:

1.  Download the installation script and make it executable:
    

```shell
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && chmod 700 get_helm.sh
```

2.  Run the script to install the latest version of Helm:
    

```shell
./get_helm.sh
```

3.  Specify a Helm version compatible with your Kubernetes cluster::
    

```shell
./get_helm.sh -v 3.14.1
```

#### Installation via Repository on Ubuntu

To install Helm through the system package manager on Ubuntu, follow these steps:

1.  Add the Helm repository signing key:
    

```shell
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
```

2.  Install the `apt-transport-https` package if it’s not already installed:
    

```shell
sudo apt install apt-transport-https --yes
```

3.  Add the Helm repository to your APT sources:
    

```shell
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
```

4.  Update your package list:
    

```shell
sudo apt update
```

5.  Install Helm:
    

```shell
sudo apt install helm
```

6.  Specify a Helm version compatible with your Kubernetes cluster:
    

```shell
sudo apt install helm=3.14.2-1
```

7.  Verify the installation:
    

```shell
helm version
```

### Windows

To install Helm on Windows, follow these steps:

1.  Run PowerShell as Administrator.
    
2.  Install Helm with the following command:
    

```shell
winget install Helm.Helm
```

3.  Install a Helm version compatible with your Kubernetes cluster:
    

```shell
winget install Helm.Helm -v 3.14.1
```

4.  Verify the Helm version:
    

```shell
helm version
```

### MacOS

To install Helm on MacOS, you can use the official automated installation script:

1.  Download the installation script and make it executable:
    

```shell
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && chmod 700 get_helm.sh
```

2.  Run the script to install the latest Helm version:
    

```shell
./get_helm.sh
```

3.  Specify a Helm version compatible with your Kubernetes cluster:
    

```shell
./get_helm.sh -v 3.14.1
```

#### Installation via Homebrew

If you use Homebrew, you can install Helm with it. Note that only the latest version of Helm is available in Homebrew repositories. To install, run:

```shell
brew install helm
```

Verify the Helm version:

```shell
helm version
```

## Setting Up Helm Repositories

Helm uses repositories to store and distribute charts — application packages that can be installed in Kubernetes. Repositories help manage applications from centralized sources, simplifying the processes of installing, updating, and removing applications.

### Adding a Repository

To install an application from a remote repository, you first need to add it to the list of available sources. This is done using the `helm repo add` command. For example, to add the popular Bitnami repository, run the following command:

```shell
helm repo add bitnami https://charts.bitnami.com/bitnami
```

Helm supports both public and private repositories. Private repositories may require authentication credentials, such as a token or a username and password.

### Updating Repositories

Charts in repositories may be updated, so to ensure you have the latest versions, it’s necessary to periodically update repository information. Use the following command:

```shell
helm repo update
```

This command synchronizes your local chart index with the current content of remote repositories.

### Viewing Available Repositories

You can view a list of all connected repositories with this command:

```shell
helm repo list
```

Example output:

![Image2](https://content.hostman.com/assets/3b891da9-f207-45e6-94a3-945d3cace084.png?width=681&height=188)

### Removing a Repository

If a repository is no longer needed, you can remove it using the `helm repo remove` command. For example, to remove the Bitnami repository, run:

```shell
helm repo remove bitnami
```

This command only removes the repository from your local Helm configuration. The charts and installed applications themselves are not affected.

## Installing Applications with Helm

After setting up repositories, you can search for and install applications in Kubernetes using Helm.

### Searching for Applications in Repositories

To find a specific chart in connected repositories, use the following command:

```shell
helm search repo <application_name>
```

For example, to search for NGINX, run:

```shell
helm search repo nginx
```

### Installing an Application

To install an application, use this command:

```shell
helm install <release_name> <repository>/<chart_name>
```

For example, to install NGINX from the Bitnami repository:

```shell
helm install my-nginx bitnami/nginx
```

### Checking the Status of an Installed Application

To check the application’s status, use:

```shell
kubectl get pods
```

To get release-specific information:

```shell
helm status <release_name>
```

### Overriding Installation Parameters

To customize chart parameters, use:

```shell
helm install my-nginx bitnami/nginx --set service.type=NodePort
```

### Uninstalling an Application

To remove an application and its resources, run:

```shell
helm uninstall <release_name>
```
