<p>I am trying to use Kubernetes cluster with Kubernetes Helm chart for defining the Kubernetes services and deployment. I installed Helm client on one machine by using the following command,</p>

<pre><code>sudo snap install helm --classic
</code></pre>

<p>And I accessed the Kubernetes cluster master node and trying to run <code>helm init</code> command. But when I am running I am getting the error,</p>

<pre><code>helm: command not found
</code></pre>

<p>And when I am checking Kubernetes cluster installation, kubectl commands are properly running. </p>

<p>For the "command not found", how can I solve my Kubernetes Helm Tiller initialization issue? </p>

<p>You need to run <code>helm init</code> on the same machine where you installed the helm client. That will install tiller on the Kubernetes cluster you have configured on your kubeconfig.</p>
<p>There are two parts of Helm, the Client (what is called <code>helm</code>) and the server (called <code>tiller</code>).</p>
<p><code>Tiller</code> runs (most of the times) on your Kubernetes cluster and manages the releases (the <code>charts</code> you deploy).</p>
<p><code>Helm</code> runs on your local machine, CI/CD or where you want.</p>
<p>Helm is also used for deploying <code>tiller</code> into your K8S cluster. This happens when you execute <code>helm init</code> and by default it'll create a kubernetes deployment called <code>tiller-deploy</code> on the <code>kube-system</code> namespace. This <code>tiller</code> deployment is what the <code>helm</code> client will use as a server.</p>
<p>Helm discovers automatically where to install <code>tiller</code> by checking your kubeconfig (<code>~/.kube/config</code>) file and by default it will use the selected context there.</p>
<p>You always use the <code>helm</code> cli from your local machine or CI/CD you don't use it from your Kubernetes master(s).</p>
<p>Edit: This was true for Helm v2, now with Helm v3 tiller no longer exists, the deployment of the chart is done by the <code>helm</code> client itself and <code>helm init</code> is no longer necessary.</p>
<p><a href="https://helm.sh/blog/helm-3-released/" rel="noreferrer">https://helm.sh/blog/helm-3-released/</a></p>
