Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Helm: Incompatible versions between client and server

After I have run helm list I got following error:

Error: incompatible versions client[v2.9.0] server[v2.8.2]

I did a helm init to install the compatible tiller version "Warning: Tiller is already installed in the cluster. (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)".

Any pointers?

like image 918
Avi Avatar asked Jun 05 '18 13:06

Avi


People also ask

How do I find my helm server version?

Easy In-Cluster Installation Once it connects, it will install tiller into the kube-system namespace. After helm init , you should be able to run kubectl get pods --namespace kube-system and see Tiller running. Once Tiller is installed, running helm version should show you both the client and server version.

Does helm still need Tiller?

Without Tiller, Helm needs a way to track the state of the different releases in the cluster. Helm 2 had the option of using secrets for release objects; now it's the default.

Is Tiller required for Helm 3?

In helm 3 there is no tiller component. Helm client directly interacts with the kubernetes API for the helm chart deployment. So from wherever you are running the helm command, you should have kubectl configured with cluster-admin permissions for helm to execute the manifests in the chart.

What is the difference between Helm and Tiller?

Helm is made of two components: the CLI binary named helm that allows you to perform communication with a remote component, named tiller that lives inside your Kubernetes cluster that is responsible to perform patches and changes to resources you ask to manage.


1 Answers

Like the OP, I had this error:

$ helm list Error: incompatible versions client[v2.10.0] server[v2.9.1] 

Updating the server wasn't an option for me so I needed to brew install a previous version of the client. I hadn't previously installed client[v2.9.1] (or any previous client version) and thus couldn't just brew switch kubernetes-helm 2.9.1. I ended up having to follow the steps in this SO answer: https://stackoverflow.com/a/17757092/2356383

Which basically says

  • Look on Github for the correct kubernetes-helm.rb file for the version you want (2.9.1 in my case): https://github.com/Homebrew/homebrew-core/search?q=kubernetes-helm&type=Commits
  • Click the commit hash (78d6425 in my case)
  • Click the "View" button to see the whole file
  • Click the "Raw" button
  • And copy the url: https://raw.githubusercontent.com/Homebrew/homebrew-core/78d64252f30a12b6f4b3ce29686ab5e262eea812/Formula/kubernetes-helm.rb

Now that I had the url for the correct kubernetes-helm.rb file, I ran the following:

$ brew unlink kubernetes-helm $ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/78d64252f30a12b6f4b3ce29686ab5e262eea812/Formula/kubernetes-helm.rb $ brew switch kubernetes-helm 2.9.1 

Hope this helps someone.

like image 121
ahaurat Avatar answered Sep 19 '22 12:09

ahaurat