> For the complete documentation index, see [llms.txt](https://platform9.com/kb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://platform9.com/kb/pmk/how-to/how-to-use-helm-3-to-deploy-applications-in-platform9-managed-k.md).

# How-To Use Helm 3 to Deploy Applications in Platform9 Managed Kubernetes Environment?

## Problem

How-To Use *Helm 3* to Deploy Applications?

## Environment

* Platform9 Managed Kubernetes - v4.3 and Higher
* Helm V3
* Linux OS
* Mac OS

## Procedure

*Helm 3* doesn’t have the server/client architecture like *Helm 2*. There is no ***tiller*** server component. So the installation is just for the *Helm* command-line component which interacts with Kubernetes through your *kubectl* configuration file and the default Kubernetes RBAC.

Follow the below steps to install *Helm* on the system.

1. Download the installation script available for *Helm* installation.

{% tabs %}
{% tab title="None" %}

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

{% endtab %}
{% endtabs %}

2. Change the permission for this script and execute the script.

{% tabs %}
{% tab title="None" %}

```none
$ chmod 700 get_helm.sh
$ ./get_helm.sh
```

{% endtab %}
{% endtabs %}

3. Check the *Helm* version installed. By default, this script will install the latest stable version of *Helm*.

{% tabs %}
{% tab title="None" %}

```none
$ helm version
```

{% endtab %}
{% endtabs %}

4. You can add the repositories to *Helm* by using the below command.

{% tabs %}
{% tab title="None" %}

```none
$ helm repo add stable [url for repo]
```

{% endtab %}
{% endtabs %}

5. Use the below command to search for the available *Helm* charts in the added repository.

{% tabs %}
{% tab title="None" %}

```none
$ helm search repo stable
```

{% endtab %}
{% endtabs %}

6. Download the [*kubeconfig*](https://docs.platform9.com/v4.5/kubernetes/kubeconfig-and-clients-download-kubeconfig-from-ui) file for the cluster on which you want to deploy the application and export it.

{% tabs %}
{% tab title="None" %}

```none
$ export KUBECONFIG=/path/to/kubeconfig.yaml
```

{% endtab %}
{% endtabs %}

7. Get the cluster *contexts* available and switch to the cluster context in which you want to deploy the application.

{% tabs %}
{% tab title="None" %}

```none
$ kubectl config get-contexts
CURRENT    NAME               CLUSTER            AUTHINFO           NAMESPACE   
*          default            cluster1           user@address.com   default           
           cluster1-pf9       cluster1-pf9       user@address.com   default

$ kubectl config use-context cluster1-pf9
```

{% endtab %}
{% endtabs %}

8. Run the below command to install the *chart.*

{% tabs %}
{% tab title="None" %}

```none
$ helm install [chart-name]  [repo-name]/[chart-name]
```

{% endtab %}
{% endtabs %}

9. Check if the installation is successful by running the following command:

{% tabs %}
{% tab title="None" %}

```none
$ helm ls
```

{% endtab %}
{% endtabs %}

## Additional Information

Refer to the official [Helm documentation](https://helm.sh/docs/intro/install/) for more details on different ways to install helm.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://platform9.com/kb/pmk/how-to/how-to-use-helm-3-to-deploy-applications-in-platform9-managed-k.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
