【问题标题】:No connection could be made because the target machine actively refused it. "Kubernetes on Docker for Windows"由于目标机器主动拒绝,无法建立连接。 “适用于 Windows 的 Docker 上的 Kubernetes”
【发布时间】:2018-07-10 13:08:31
【问题描述】:

我已经安装了适用于 Windows 18.05.0-ce (Windows 10 Hyper-V) 的 Edge 版本的 Docker,之后启用了 Kubernetes。
在我的另一台机器上自动创建了一个 kubectl 上下文,但在这台新机器上却没有。

> kubectl config get-contexts
CURRENT   NAME      CLUSTER   AUTHINFO   NAMESPACE
> kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"windows/amd64"}
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it.

我能告诉我如何让 Docker for Windows 创建上下文吗?
或者我可以手动设置吗?
我有点不确定如何获取kubectl config set-context 命令所需的信息。

我可以在 Kubernetes 之外运行 docker 容器。
我看到 Kubernetes 容器在 Docker 中运行。

> docker ps
CONTAINER ID        IMAGE                            COMMAND
8285ca0dd57a        353b8f1d102e                     "kube-scheduler --ad…"
3b25fdb0b7a6        40c8d10b2d11                     "kube-controller-man…"
e81db90fa68e        e03746fe22c3                     "kube-apiserver --ad…"
2f19e723e0eb        80cc5ea4b547                     "/kube-dns --domain=…"
etc...

【问题讨论】:

  • 我正在尝试使用随 Docker for Desktop (Windows 10) 一起提供的 kubernetes。我的问题是我没有在 docker 设置中启用它。在 docker 设置中启用 kubernetes 后自动解决。

标签: docker kubernetes docker-for-windows


【解决方案1】:

当我将HOMEDRIVE 设置为我的公司政策时,Windows 的 docker 会出现问题。

如果您将$KUBECONFIG 环境变量设置为C:\Users\my_username\.kube\config(确保$HOME 环境变量扩展,不要使用$HOME 本身。)它应该可以工作。

更多信息:https://github.com/docker/for-win/issues/1651

【讨论】:

    【解决方案2】:

    我发现 Docker for Windows 正确更新了我的 kubectl 配置文件,但在 Windows 10 Enterprise 上没有名为“HOME”的环境变量。

    所以 kubectl 找不到配置文件,C:\users\{userid}\.kube\config

    添加环境变量HOME=C:\users\{userid} 解决了我机器上的问题。

    见:https://github.com/docker/for-win/issues/2066

    【讨论】:

      【解决方案3】:

      运行命令来克服(connectex:无法建立连接,因为目标机器主动拒绝它)问题。

      minikube delete 
      minikube start
      

      【讨论】:

        猜你喜欢
        • 2013-05-18
        • 1970-01-01
        相关资源
        最近更新 更多