3 minutes read
Did you ever experience incompatible helm versions / errors like the one below?
Error: incompatible versions client[v2.15.1] server[v2.14.3]
The reason for those error messages is: Helm until version 2 consists of two components: a client and a server component. The client component is a cli interface, the server component Tiller runs as a Kubernetes deployment.
$ kubectl describe service tiller-deploy -n kube-system Name: tiller-deploy Namespace: kube-system Labels: app=helm name=tiller Annotations: <none> Selector: app=helm,name=tiller Type: ClusterIP ...
Tiller is gone in Helm 3
Probably, Helm version 3 will not cause those errors anymore because Tiller is gone:
- The most apparent change is the removal of Tiller, but it’s worth checking out the other changes by diving into the new release.
- Bon voyage Tiller 👋
However, in case your Helm setup is not upgraded to version 3 yet, you still may experience those error messages.
Work around incompatible client & server versions
I found it most convenient to adapt the local cli component version of helm to the server component version to workaround the errors. This is because changing the tiller version in production may cause side effects.
$ ./get_helm.sh -v [desired version, probably the server one] $ ./get_helm.sh -v v2.14.3 # a specific example
This one liner above sets the helm local component version to the desired one, in my case the server version in the error message at the top.
How to get get_helm.sh?
Follow the Helm install from-script instructions:
$ curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 > get_helm.sh $ chmod 700 get_helm.sh $ ./get_helm.sh