在笔记本电脑的 Windows 10 中”启用”了Docker Desktop 自带的 Kubernetes 成功后,却发现执行任何 kubectl 命令都会得到如下的错误: “Unable to connect to the server: dial tcp 127.0.0.1:52186: connectex: No connection could be made because the target machine actively refused it.”。
比如:执行
1 | kubectl ge node |
系统如下的错误信息
1 | Unable to connect to the server: dial tcp 127.0.0.1:52186: connectex: No connection could be made because the target machine actively refused it. |
一开始有点懵,觉得整个安装步骤都没有报错,说明安装是成功的。仔细想了一下才想起来我原来在这台机器上安装过 minikube , 虽然后来删除了,但可能只是将程序删除了,应该是还残留量一些配置信息,导致了上面的错误。
根据这个思路,查看用户目录中 .kube 目录里面的 config 文件。发现内容如下
1 | apiVersion: v1 |
可以果然是多了一个 Context, 是前一次安装、使用 minikube 时,由 minikube 安装程序建立的 Cluster 和 context 信息, 该 context 的名字被设置为 minikube。
而且配置文件中的 current-context 也被设置为 minikube.
由此推断,简单的删除 minikube 相关的配置信息并修改 current-context 的值就应该可以解决问题。
动手修改 config 文件,最后的内容如下
1 | apiVersion: v1 |
保存后 再执行
1 | kubectl get node |
得到
1 | NAME STATUS ROLES AGE VERSION |
故障解除