Minikube:拒绝kubectl连接 - 你指定了正确的主机或端口吗?

时间:2017-09-15 07:55:17

标签: kubernetes kubectl minikube

我尝试使用Virtualbox在MacOS上运行minikube v0.22.1和kubectl v1.7.5。

$ minikube start
Starting local Kubernetes v1.7.5 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.

$ minikube version
minikube version: v0.22.1

$ minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.99.100

但是,所有kubectl命令都失败了"连接被拒绝 - 您是否指定了正确的主机或端口?"

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.5", GitCommit:"17d7182a7ccbb167074be7a87f0a68bd00d58d97", GitTreeState:"clean", BuildDate:"2017-08-31T19:32:26Z", GoVersion:"go1.9", Compiler:"gc", Platform:"darwin/amd64"}
The connection to the server 192.168.99.100:8443 was refused - did you specify the right host or port?

建议的解决方案heresudo ifconfig vboxnet0 up)没有帮助,vboxnet0界面已启动。

非常感谢任何想法或建议。

5 个答案:

答案 0 :(得分:4)

如果你跑

kubectl config get-contexts

你能得到以下结果吗?

CURRENT   NAME       CLUSTER    AUTHINFO   NAMESPACE
*         minikube   minikube   minikube 

如果不是这意味着您的kubectl上下文未正确设置。要正确设置上下文,请运行此

kubectl config use-context minikube

答案 1 :(得分:2)

如果有人发现这个问题,我会把它放在这里。

截至目前,我不知道OP的设置版本。所以我假设他有最新版本,当他发布时可用,即:0.22.1

<强>描述

我有类似的问题。群集不规则地超时。有一刻我用kubectl cluster-info dump得到了答案我没有。然后它再次起作用,然后它没有。我找到了github bug report的解决方案。

<强>解决方案

  1. 删除VirtualBox VM。
  2. 删除./minikube文件夹。
  3. 删除minikube可执行文件。
  4. 安装版本0.19.0。
  5. 验证minikube是否正在使用:kubectl
  6. <强>版本

    • 操作系统:Windows 10(家庭版)
    • Minikube错误版本:0.22.2
    • Minikube工作版:0.19.0
    • Kubectl(客户):v1.7.0
    • Kubectl(服务器):v1.6.0

    编辑:
    在我发布这个原始答案后,我一直在与minikube有一些问题。我找到了完全解决问题的东西。 它与Hyper-V中的动态内存设置有关。

    <强>解决方案
     1.关闭hyper-v minikube VM  2.转到VM的设置  3.关闭动态内存分配  4.分配相当大的内存  5.保存并再次打开VM。

    这适用于任何minikube版本。有关自动化解决方案的进展,请参阅this github issue

答案 2 :(得分:1)

调试minikube命令时,例如

$ minikube dashboard --loglevel 0 --logtostderr

一些代理问题变得可见并且可以解决。

答案 3 :(得分:0)

您可能出于任何原因将其停止或保存。有时,启用/禁用插件后,您可能需要重新启动它。

1)重新启动minikube VM,将其停止

$ minikube stop 

2)重新启动它,确保分配了足够的cpu /内存(以下仅是如何传递它的示例,您需要根据计算机中的可用资源进行调整)

$ minikube start --memory=10000 --cpu 4 

如果这没有解决,您可以执行以下操作以帮助您更多地了解问题的根本原因:

检查minikube状态,并确保状态为Running

$ minikube status 

或者,检查minkube日志:

minikube logs

最后,如果您无法修复它,则可能需要删除并从头开始

$ minikube delete && minikube start 

参考:https://github.com/kubernetes/minikube/issues/1498

答案 4 :(得分:0)

今天早上(又是一个星期一!)我在 MacOS 11.3 和 minikube v1.19.0 上遇到了这种情况。

我运行了 minikube status 并得到以下结果:

E0503 14:15:43.912005    7308 status.go:412] kubeconfig endpoint: got: 127.0.0.1:64041, want: 127.0.0.1:56537
minikube
type: Control Plane
host: Running
kubelet: Stopped
apiserver: Stopped
kubeconfig: Misconfigured


WARNING: Your kubectl is pointing to stale minikube-vm.
To fix the kubectl context, run `minikube update-context`

似乎是个好建议,所以我确实运行了 minikube update-context 并得到了这个:

?  "minikube" context has been updated to point to 127.0.0.1:56537
?  Current context is "minikube"

之后一切都像周五一样。