Command not found error when initializing the tiller using `helm init`

4/16/2019

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,

sudo snap install helm --classic

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

helm: command not found

And when I am checking Kubernetes cluster installation, kubectl commands are properly running.

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

-- Jacob
kubernetes
kubernetes-helm

3 Answers

5/20/2020

In the Kubernetes 1.6 RBAC is enabled by default which makes helm harder to run tiller shamelessly so that based on the decision of community tiller is removed for Helm 3 onwards. Checkout official blog for more details

-- Keyur
Source: StackOverflow

4/26/2020
  1. Check that helm is installed with sudo snap install helm.

If installed, you should have something like that:

snap "helm" is already installed, see 'snap help refresh'
  1. If helm is installed, then at the end of the file ~/.profile, add the following:
# Addition of snap packages to PATH
PATH="$PATH:/snap/bin/"
  1. Log Out / Log In to update the changes to ~/.profile
  2. Check that the helm command works by testing it: helm version

If you still encounter the Command not found message, go to Preferences > Profile > Command and check Run command as a login shell if not checked.

-- Pieber
Source: StackOverflow

4/16/2019

You need to run helm init on the same machine where you installed the helm client. That will install tiller in the kubernetes cluster you have configured on your kubeconfig.

There are two parts of Helm, the Client (what is called helm) and the server (called tiller).

Tiller runs (most of the times) on your kubernetes cluster and manages the releases (the charts you deploy).

Helm runs on your local machine, CI/CD or where you want.

Helm is also used for deploying tiller into your K8S cluster. This happens when you execute helm init and by default it'll create a kubernetes deployment called tiller-deploy on the kube-system namespace. This tiller deployment is what the helm client will use as a server.

Helm discovers automatically where to install tiller by checking your kubeconfig (~/.kube/config) file and by default it will use the selected context there.

You always use the helm cli from your local machine or CI/CD you don't use it from your kubernetes master(s).

-- Esteban Garcia
Source: StackOverflow