helm/charts

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

gyurobenjamin opened this issue ยท 13 comments

Is this a request for help?:

Yes

Is this a BUG REPORT or FEATURE REQUEST? (choose one):

Bug report

Version of Helm and Kubernetes:

Helm:
Client: &version.Version{SemVer:"v2.8.2", GitCommit:"a80231648a1473929271764b920a8e346f6de844", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.6.2", GitCommit:"be3ae4ea91b2960be98c07e8f73754e67e87963c", GitTreeState:"clean"}
Kubectl:
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-09T21:51:06Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.9", GitCommit:"19fe91923d584c30bd6db5c5a21e9f0d5f742de8", GitTreeState:"clean", BuildDate:"2017-10-19T16:55:06Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Which chart:

Any chart

What happened:

When I run install I got this error message:
Error: incompatible versions client[v2.8.2] server[v2.6.2]

What you expected to happen:

Work: )

How to reproduce it (as minimally and precisely as possible):

Not sure

Anything else we need to know:

Not sure

helm init --upgrade upgraded my server version, so now its fine.

@gyurobenjamin
this command actually reconfigures the client as well. Not just the tiller server. I don't want my client to reconfigure. Because I have already updated version of my client and configured some repo and working with other compatible tillers in other namespaces.

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

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.

  • For version 2.10.0 (currently 2.12.1):
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/ab3d1d783778e3ecd3f913bd39e0f14e7ad3ebc5/Formula/kubernetes-helm.rb
  • For version 2.11.0
https://raw.githubusercontent.com/Homebrew/homebrew-core/ee94af74778e48ae103a9fb080e26a6a2f62d32c/Formula/kubernetes-helm.rb

(saves some search time)

and for version 2.7.2

https://raw.githubusercontent.com/Homebrew/homebrew-core/cc4fd62921c4f9d970fde460084026b29a623cd1/Formula/kubernetes-helm.rb

Because people in my team run regularly into this problem and we cannot always keep helm client and Tiller versions in sync I wrote a handy bash function (add to your .bash_profile)

function helm-toggle() {
    if [ -z "$1" ]; then
        echo "helm client and Tiller (server side) versions always must match. Simply toggle between different Helm versions installed by brew".
        echo
        echo "Usage: helm-toggle <Helm version>"
        echo
        echo "installed helm versions are:"
        brew info --json=v1  kubernetes-helm | jq .[].installed[].version
        echo "current helm version is:"
        brew info --json=v1  kubernetes-helm | jq .[].linked_keg
    else
        brew switch kubernetes-helm $1 > /dev/null # no appropriate error handling here if someone sets something silly
    fi
}

This is the output on my machine.

$ helm-toggle
helm client and Tiller (server side) versions always must match. Simply toggle between different Helm versions installed by brew.

Usage: helm-toggle <Helm version>

installed helm versions are:
"2.9.1"
"2.11.0"
"2.12.0"
"2.12.1"
"2.12.2"
current helm version is:
"2.12.1"

v2.12.3:

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/39532fd81f267961177d8aaeba68f7056e91f78b/Formula/kubernetes-helm.rb

v2.13.1:

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/fd2c01c0cd6ba9a32c5a84b9b914debd077c7498/Formula/kubernetes-helm.rb

v2.12.3 is stuck on installation several times:

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/39532fd81f267961177d8aaeba68f7056e91f78b/Formula/kubernetes-helm.rb

==> Consider using brew extract kubernetes-helm ...!
This will extract your desired kubernetes-helm version to a stable tap instead of
installing from an unstable URL!

######################################################################## 100.0%
Warning: kubernetes-helm 2.14.0 is available and more recent than version 2.12.3.
==> Downloading https://homebrew.bintray.com/bottles/kubernetes-helm-2.12.3.mojave.bottle.tar.gz
Already downloaded: /Users/minta-dan/Library/Caches/Homebrew/downloads/ada134376c83f6bddc1cc1bcb3c11c71eb6884ef39d41f34ab1f88b923195021--kubernetes-helm-2.12.3.mojave.bottle.tar.gz
Error: SHA256 mismatch
Expected: 4158a25a57f57ee7d663b7910ebc1e575437b149c43348d0d78b2dfc16e02df5
Actual: 61b1f0e2420be11409aa4f0414f737fbf31171e2079bbbfc2b0be52277b85244
Archive: /Users/minta-dan/Library/Caches/Homebrew/downloads/ada134376c83f6bddc1cc1bcb3c11c71eb6884ef39d41f34ab1f88b923195021--kubernetes-helm-2.12.3.mojave.bottle.tar.gz
To retry an incomplete download, remove the file above.
Warning: Bottle installation failed: building from source.
==> Cloning https://github.com/helm/helm.git
Updating /Users/minta-dan/Library/Caches/Homebrew/kubernetes-helm--git
==> Checking out tag v2.12.3
HEAD is now at eecf22f bump version to v2.12.3
HEAD is now at eecf22f bump version to v2.12.3
==> make bootstrap

If you need to upgrade helm and it is configured to use tls give this a whirl.

โฏ helm init --upgrade --tiller-tls --tiller-namespace=tiller --tiller-tls-cert=cert.pem --tiller-tls-key=key.pem --tls-ca-cert=ca.pem --service-account=tiller
$HELM_HOME has been configured at /Users/puccinelli/.helm.

Tiller (the Helm server-side component) has been upgraded to the current version.

v2.14.3

https://raw.githubusercontent.com/Homebrew/homebrew-core/0a17b8e50963de12e8ab3de22e53fccddbe8a226/Formula/kubernetes-helm.rb

I had the same issue but doing helm init --upgrade at first produced this output:

`$ helm init --upgrade
$HELM_HOME has been configured at /home/ashwinchandran/.helm.

Tiller (the Helm server-side component) has been updated to gcr.io/kubernetes-helm/tiller:v2.16.1 .
`
And when I tried to install a chart

$ helm install -n monitoring stable/prometheus-operator Error: could not find a ready tiller pod
But it was solved when I enabled add-on registry-creds

$ minikube addons enable registry-creds ๐ŸŒŸ The 'registry-creds' addon is enabled

v2.15.2
https://raw.githubusercontent.com/Homebrew/homebrew-core/dddb831d66da48588fc3efbcec0508155af9e16a/Formula/kubernetes-helm.rb