降级 kubectl 版本以匹配 minikube k8s 版本

Downgrade kubectl version to match minikube k8s version

我用 k8s 版本 1.5.2 启动了 minikube,我想降级我的 kubectl 以便它也是 1.5.2。目前当我 运行 kubectl version 我得到:

Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.5", GitCommit:"17d7182a7ccbb167074be7a87f0a68bd00d58d97", GitTreeState:"clean", BuildDate:"2017-08-31T19:32:12Z", GoVersion:"go1.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"1970-01-01T00:00:00Z", GoVersion:"go1.7", Compiler:"gc", Platform:"linux/amd64"}

我想使用 kubectl 来获取 PetSets 但在后来的版本中这已更新为 StatefulSets 所以我不能使用当前 kubectl 版本的命令

kubectl get petsets
the server doesn't have a resource type "petsets"

谢谢!

您可以只下载以前版本的二进制文件并替换您现有的。

Linux:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.5.2/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

macOS:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.5.2/bin/darwin/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl

Windows:

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.5.2/bin/windows/amd64/kubectl.exe

并将其添加到 PATH。

如果不遵循此处其他操作系统的说明:https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl

使用 APT,您也可以安装准确的版本:

sudo apt install kubectl=1.17.2-00

在 Centos 上对我有帮助的是 运行 以下内容:

sudo yum downgrade kubeadm-1.16.9 kubernetes-cni-0.7.5 kubelet-1.16.9 kubectl-1.16.9

然后要永久禁用更新,编辑 /etc/yum.repos.d/Kubernetes.repo 并将启用的行更改为 enabled=0

只需操纵 link

https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/ 显示 1.21.0 在 https://dl.k8s.io/release/v1.21.0/bin/windows/amd64/kubectl.exe

旧的1.20.6版本是

https://dl.k8s.io/release/v1.20.6/bin/windows/amd64/kubectl.exe