【问题标题】:Minikube: kubectl connection refused - did you specify the right host or port?Minikube:kubectl 连接被拒绝 - 您是否指定了正确的主机或端口?
【发布时间】:2018-02-24 08:21:25
【问题描述】:

我尝试在带有 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?

here (sudo ifconfig vboxnet0 up) 提出的解决方案没有帮助,vboxnet0 接口已启动。

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

【问题讨论】:

  • 我为 Windows 10 用户发布了一个答案。你能用你正在使用的操作系统更新你的问题吗?
  • 对于那些带着同样的错误信息但只是“忘记”安装kubectl的人-您可能只需要cp -i /etc/kubernetes/admin.conf ~/.kube/config并设置权限。

标签: kubernetes kubectl minikube


【解决方案1】:

如果你运行

kubectl config get-contexts

你得到以下了吗?

CURRENT   NAME       CLUSTER    AUTHINFO   NAMESPACE
*         minikube   minikube   minikube 

如果不是,则表示您的 kubectl 上下文设置不正确。要正确设置上下文,请运行此

kubectl config use-context minikube

【讨论】:

    【解决方案2】:

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

    1) 重启 minikube VM,停止它

    $ minikube stop 
    

    2) 重新启动,确保你分配了足够的cpu/memory(以下只是一个例子,你需要根据你机器的可用资源来调整它)

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

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

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

    $ minikube status 
    

    或者,查看 minkube 日志:

    minikube logs
    

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

    $ minikube delete && minikube start 
    

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

    【讨论】:

      【解决方案3】:

      我会把这个放在这里,以防有人发现这个问题。

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

      说明

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

      解决方案

      1. 删除您的 VirtualBox 虚拟机。
      2. 删除./minikube 文件夹。
      3. 删除 minikube 可执行文件。
      4. 安装版本 0.19.0。
      5. 验证 minikube 是否正在使用:kubectl

      版本

      • 操作系统: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 虚拟机。
      2. 转到虚拟机的设置。
      3.关闭动态内存分配。
      4. 分配相当数量的内存。
      5. 保存并再次打开 VM。

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

      【讨论】:

        【解决方案4】:

        调试 minikube 命令时,例如

        $ minikube dashboard --loglevel 0 --logtostderr
        

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

        【讨论】:

          【解决方案5】:

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

          我运行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"
          

          之后一切都像周五一样。

          【讨论】:

            【解决方案6】:

            Linux Security OS 修补并重启后,我们无法启动 kubernetes 服务,收到以下错误。

            错误信息:启动 kubernetes 服务时收到与服务器 192.168.1.101:8443 的连接。

            此问题是由于 systemd 软件包在安全补丁期间更新所致。

            所以我们做了以下操作来在每个主节点上启动应用程序

            1. Update the /usr/lib/systemd/system/kubelet.service fie by removing the below two lines:
            
            ExecStartPost=/bin/bash -c 'umask 0022; pgrep -x kubelet > /run/kubelet.pid'
            ExecStopPost=/bin/bash -c 'rm -f /run/kubelet.pid'
            
            
            2. Update the /usr/lib/systemd/system/kube-proxy.service fie by removing the below two lines:
            
            ExecStartPost=/bin/bash -c 'umask 0022; pgrep -x kubelet > /run/kubelet.pid'
            ExecStopPost=/bin/bash -c 'rm -f /run/kubelet.pid'
            
            3. Run the kube-restart.sh on the master nodes. 
            
            4. run the kube-restart.sh on the worker nodes.
            

            【讨论】:

              猜你喜欢
              • 2018-12-03
              • 2019-09-25
              • 2021-03-16
              • 2018-12-09
              • 2020-02-25
              • 2022-08-22
              • 2022-10-13
              • 2022-11-17
              • 2019-11-06
              相关资源
              最近更新 更多