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?
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
sudo snap install helm
.If installed, you should have something like that:
snap "helm" is already installed, see 'snap help refresh'
# Addition of snap packages to PATH
PATH="$PATH:/snap/bin/"
~/.profile
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.
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).