首页 > 解决方案 > kubectl 无效的 apiVersion

问题描述

这可能是一个明显的错误,但我花了一段时间才弄清楚(因为我是 kubernetes 的新手),所以我在这里发布它以减轻其他人的生活。

收到以下错误:

D:\>kubectl get pods
error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1beta1"

kubectl 版本是:

D:\>kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", 
GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11- 
26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"windows/amd64"}
error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1beta1"

我的 kube 配置文件包含:

exec:
  apiVersion: client.authentication.k8s.io/v1beta1

我尝试将 apiVersion 更改为 v1alpha1、v1 等。在此过程中,这些都没有帮助解决不同的错误。

标签: kubectl

解决方案


问题出在 kubectl 版本上,尤其是系统上安装了 docker 桌面。当我最终明确下载 1.16 版本但 kubectl 仍然报告 1.10 时,很容易发现问题。我将指向我的 kubectl.exe 的 PATH 变量移动到 PATH 的前面(顶部),在新的 CMD 窗口中尝试并且 kubectl 工作正常。

顺便说一句,从 docker desktop install 获取 kubectl 的这个问题在kubectl 下载站点上有所记录,我只是从未注意到它。


推荐阅读