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
- 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.
- For version
2.10.0
(currently2.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:
==> 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