如何升级kubectl客户端版本

How to upgrade kubectl client version

我想升级kubectl客户端版本到1.11.3

我执行了brew install kubernetes-cli但是版本似乎没有更新。

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.7", GitCommit:"0c38c362511b20a098d7cd855f1314dad92c2780", GitTreeState:"clean", BuildDate:"2018-08-20T10:09:03Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.4", GitCommit:"bf9a868e8ea3d3a8fa53cbb22f566771b3f8068b", GitTreeState:"clean", BuildDate:"2018-10-25T19:06:30Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

我正在尝试通过 运行 此命令获取单元格的日志。

kubectl logs -l groupname/cell=my-cell --all-containers=true

这适用于我的客户端版本为 1.11.3 的 VM。但是在我的 mac 中,它给了我一个错误,说 --all-containers=true 标志不适用于 kubectl logs 命令。

我使用 google-cloud-sdk 安装了 kubectl。所以在我的路径中,kubectl 指向了这个位置。这就是版本没有更新的原因。在我从路径中删除它后,Kubectl 得到了更新。

安装特定版本的 kubectl

curl -LO https://storage.googleapis.com/kubernetes-release/release/<specific-kubectl-version>/bin/darwin/amd64/kubectl

对于你的情况,如果你想安装版本 v1.11.3 然后将 specific-kubectl-version 替换为 v1.11.3

然后使这个二进制文件可执行

chmod +x ./kubectl

然后将此二进制文件移动到您的 PATH

sudo mv ./kubectl $(which kubectl)

如果你用brew安装了它,你就可以运行 brew upgrade kubernetes-cli

如果您遵循 Kubernetes 安装页面上的详细安装指南,在 MacOS X 上安装或升级 kubectl 服务器和客户端的版本非常容易 https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-on-macos

希望对您有所帮助:)

通过巧克力:

choco upgrade kubernetes-cli

我的 docker 桌面使用旧版本的 kubectl。安装 gcloud components install kubectl 后,安装程序会发出警告,指出过时的 kubectl 版本的位置:

WARNING: There are older versions of Google Cloud Platform tools on your system PATH. Please remove the following to avoid accidentally invoking these old tools:

/Applications/Docker.app/Contents/Resources/bin/kubectl

我已经删除了文件夹和 kubectl 运行 没问题。

认为这可以帮助任何与 aws kubectl 处于同一条船上的人。

我在从 aws 下载 kubectl 时遇到问题后来到这里。 kubectl 安装失败,因为我的机器上有 kubectl。

删除后,能够从 aws 安装 kubectl 1.15.11。

lrwxr-xr-x  1 root      admin      55 Jan 11 17:49 kubectl.docker -> /Applications/Docker.app/Contents/Resources/bin/kubectl
lrwxr-xr-x  1 root      admin      55 Jan 11 17:49 kubectl -> /Applications/Docker.app/Contents/Resources/bin/kubectl 

和boraas说的差不多。您看到的版本来自另一个 kubectl.exe 安装。我为 windows 安装了 docker,它已经有 kubectl.exe(位于 Docker\resources\bin)并且是旧版本。除非您明确提供 kubectl.exe 的新位置的路径 [您需要在 PATH] 中设置它,否则将使用它。

因此,要在 mac 上升级 kubectl:

brew upgrade kubectl

那么你可能需要:

brew link --overwrite kubernetes-cli

第 1 步 - 下载最新的或特定版本的 kubectl 二进制文件

参考:https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/#install-kubectl-binary-with-curl-on-macos

Downloads$ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   154  100   154    0     0    583      0 --:--:-- --:--:-- --:--:--   583
100 50.6M  100 50.6M    0     0  9159k      0  0:00:05  0:00:05 --:--:-- 10.8M

第 2 步:旧版本

➜  Downloads$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}

第 3 步:旧 kubectl 版本位置:

➜  Downloads$ which kubectl
/usr/local/bin/kubectl

第 4 步:将新版本移动到位置:

➜  Downloads$ sudo mv kubectl /usr/local/bin/.
Password:

第 5 步:为 kubectl 二进制文件分配权限

➜  Downloads$ kubectl version
zsh: permission denied: kubectl
➜  Downloads sudo chmod 755 /usr/local/bin/kubectl 

第六步:检查新版本

➜  Downloads$ kubectl version                      
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.1", GitCommit:"632ed300f2c34f6d6d15ca4cef3d3c7073412212", GitTreeState:"clean", BuildDate:"2021-08-19T15:45:37Z", GoVersion:"go1.16.7", Compiler:"gc", Platform:"darwin/amd64"}