Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: pip
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here: 2.0.2
OS Version: What OS and version are you using?
Answer here: Linux ultralisk 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1 (2016-12-30) x86_64 GNU/Linux
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here: /bin/bash
When installing the kubectl CLI for my ACS cluster which was created using az acs create, az acs kubernetes install-cli installs v1.6.2 even though acs currently installs v1.5.3:
><> sudo az acs kubernetes install-cli
><> k version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.2", GitCommit:"477efc3cbe6a7effca06bd1452fa356e2201e1ee", GitTreeState:"clean", BuildDate:"2017-04-19T20:33:11Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:34:56Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
The simple workaround is to run sudo az acs kubernetes install-cli --client-version=v1.5.3.
The docs I used to install acs and azure-cli was followed here: https://deis.com/docs/workflow/quickstart/provider/azure-acs/boot/
disclaimer: I'm a Deis engineer :)
Yeah, this was a hack so that we wouldn't have to continually update the code with each new version...
It should work though, right? 1.6.x kubectl should work with a 1.5.x cluster?
I'm open to suggestions that don't involve me updating the code every time a version revs...
Yep! It works out of the box as-is and the workaround is a nice fallback in case kubernetes eventually comes out with a release that accidentally breaks backwards compatibility. I was just surprised that the ACS cluster and the CLI were showing different versions. :)
Unless we did the same for the az acs create command in that it installs the latest and greatest kubernetes release out there, I'm not sure if there would be a way to determine an acs cluster's kubernetes version from the API exposed by Azure, so no actionable suggestions from my end. Just documenting the behaviour for now.
closing as az acs is deprecating
This should probably be re-opened and re-titled for az aks install-cli. Even though ACS is being deprecated, this functionality (and therefore the same issue) continues to exist for AKS.
Just ran into this myself. AKS creates clusters with server kubernetes version 1.13.12 while the kubectl version pulled down by install-cli is version 1.16.3. These two are not completely compatible. As the issue here shows, kubectl needs to be within +/- 1 minor version of the server for compatibility.
We will update install-cli to accept cluster name and resource group, in which case it will install the latest patch compatible with that cluster.
Let us know if that sounds good.
Most helpful comment
This should probably be re-opened and re-titled for
az aks install-cli. Even though ACS is being deprecated, this functionality (and therefore the same issue) continues to exist for AKS.