在Mac上启动Minikube时出现问题

8

我是Kubernetes的新手。我正在尝试在我的本地Mac机器上启动一个Kubernetes集群。我正在使用以下命令启动Kubernetes:

minikube start --vm-driver=hyperkit

我遇到了以下错误:

/usr/local/bin/kubectl is version 1.14.7, and is incompatible with Kubernetes 1.17.0. 
You will need to update /usr/local/bin/kubectl or use 'minikube kubectl' to connect with this cluster

现在执行以下命令:

minikube kubectl

这并没有做任何事情,只是展示基本命令以及它们的使用方法。

而在尝试升级kubetctl时,显示已经是最新版本。

我还没有找到任何解决方案。有关如何修复此问题的任何想法吗?

5个回答

6
如果你已经升级并遇到了同样的错误,请尝试以下操作。
brew link --overwrite kubernetes-cli

6

1
sudo mv ./kubectl $(which kubectl) 是完美的。 - Nishant Nawarkhede
@NishantNawarkhede 完美地加入了这个解决方案。我更新了我的答案。谢谢。 - Mark Watney

2

升级你的minikube和kubernetes-cli的最佳选择。当前最新版本的kubectl是1.17.0,minikube是1.6.1

brew upgrade minikube
brew upgrade kubernetes-cli

另一个选择是在minikube中运行特定版本的kubernetes。

minikube start --vm-driver=virtualbox --kubernetes-version=1.14.7

在使用kubectl 1.17连接安装有--kubernetes-version=1.14.7的Kubernetes时,我遇到了类似的错误信息。

/usr/local/bin/kubectl is version 1.17.0, and is incompatible with Kubernetes 1.14.7. You will need to update /usr/local/bin/kubectl or use 'minikube kubectl' to connect with this cluster

1
minikube不再是Cask,现在是常规公式 - Oleg Butuzov
@OlegButuzov,感谢您的回复。我尝试了这两个命令,看起来它们已经是最新的了。所以我仍然遇到了同样的问题。 - Joy
kubectl的最新版本通过brew分发是1.17.0,但你安装的是1.14.7,所以很可能kubectl不是通过brew安装的,而是从其他地方获取的。你可以尝试使用命令brew link kubernetes-cli - Oleg Butuzov
我遇到了同样的问题,在我的情况下,cli-1.14.* 是由Docker Desktop安装的(您可以在其“关于”菜单中检查)。但我不确定是否应该使用brew处理升级,还是应该更新Docker Desktop - Kamafeather
保持系统上只有一个客户端版本的(复杂)解决方案是卸载DockerDesktop(稳定版;最高版本:1.14.8),保存您想要保留的镜像和导出容器,然后重新安装DockerDesktop(Edge;测试版)。请参考此链接 - Kamafeather
解决方案(简单)是执行 brew remove minikube kubectlbrew install kubectl minikube 命令;这样可以修复 kubectl 客户端版本。 ‍♂️ - Kamafeather

0

有时候 hyperkit 的链接可能会出错,指向旧版本,这种问题可以在 Mac 上通过以下方式解决:

brew link --overwrite hyperkit


0

匹配客户端和服务器版本解决了问题,

  ~ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.5", GitCommit:"20c265fef0741dd71a66480e35bd69f18351daea", GitTreeState:"clean", BuildDate:"2019-10-15T19:16:51Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:50:46Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

客户端版本:v1.15.5

服务器版本:v1.18.0

因此,请使用以下方式更新客户端版本:

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

要安装 v1.18.0 版本,

➜  ~ curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/darwin/amd64/kubectl

然后,

  1. ➜ ~ chmod +x ./kubectl
  2. ➜ ~ sudo mv ./kubectl $(which kubectl)

现在检查版本,

  ~ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:58:59Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:50:46Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接