Error: couldn't read version from server: Get http://localhost:8080/api: dial tcp 127.0.0.1:8080: connection refused

Error: couldn't read version from server: Get http://localhost:8080/api: dial tcp 127.0.0.1:8080: connection refused

我使用步骤 here.

在 linux 上安装了 Kubernetes

一切正常,直到我退出终端并打开一个新的终端会话。

我收到权限被拒绝的错误,在重新启动我的机器后,我收到以下错误

> kubectl get pod<br/>
error: couldn't read version from server: Get http://localhost:8080/api: dial tcp 127.0.0.1:8080: connection refused

我刚刚开始使用 Kubernetes,如有任何帮助,我们将不胜感激。

似乎是 TCP 问题。尝试通过检查 TCP/8080 是否被问题

打开来隔离问题

telnet 127.0.0.1 8080

如果你有 'connection refused' - 你可能应该看看你机器的 firewall/security 设置。

我尝试通过这样做来复制问题:

  1. 根据上面 link 中给出的说明,在新的 ubuntu 15.04 机器上安装了 Kubernetes。
  2. 停止(docker)说明中给出的所有容器。
  3. 注销并重新登录
  4. 启动 etcd,然后启动 kubernetes master,然后启动服务代理以再次启动它们。

然后我立即运行get nodes得到和你一样的错误。

[anovil@ubuntu-anovil ~]$ kubectl get nodes
error: couldn't read version from server: Get http://localhost:8080/api: dial tcp 127.0.0.1:8080: connection refused

[anovil@ubuntu-anovil ~]$ 

然后我运行dockerps查看是否都是运行好像不是这样

[anovil@ubuntu-anovil ~]$ docker ps
CONTAINER ID        IMAGE                                       COMMAND                  CREATED              STATUS              PORTS               NAMES
449b4751f0e4        gcr.io/google_containers/pause:0.8.0        "/pause"                 3 seconds ago        Up 2 seconds                            k8s_POD.e4cc795_k8s-master-127.0.0.1_default_f3ccbffbd75e3c5d2fb4ba69c8856c4a_b169f4ad
8c37ad726b71        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube proxy --m"   55 seconds ago       Up 55 seconds                           naughty_jennings
de9cf798bc2b        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube kubelet -"   About a minute ago   Up About a minute                       desperate_pike
6d969a37428e        gcr.io/google_containers/etcd:2.0.12        "/usr/local/bin/etcd "   About a minute ago   Up About a minute                       jovial_jang
[anovil@ubuntu-anovil ~]$

如您所见,缺少控制器、apiserver 和调度程序。 如果这是你的问题,那么我只等了一会儿,比如说 1 分钟,他们又都起来了。

因此,恢复需要一些时间,之后

[anovil@ubuntu-anovil ~]$ kubectl get nodes
NAME        LABELS                             STATUS
127.0.0.1   kubernetes.io/hostname=127.0.0.1   Ready
[anovil@ubuntu-anovil ~]$ docker ps
CONTAINER ID        IMAGE                                       COMMAND                  CREATED              STATUS              PORTS               NAMES
0b8b7aae8143        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube scheduler"   8 seconds ago        Up 8 seconds                            k8s_scheduler.2744e742_k8s-master-127.0.0.1_default_f3ccbffbd75e3c5d2fb4ba69c8856c4a_6928bc83
0e25d641079b        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube apiserver"   8 seconds ago        Up 8 seconds                            k8s_apiserver.cfb70250_k8s-master-127.0.0.1_default_f3ccbffbd75e3c5d2fb4ba69c8856c4a_1f35ee04
d5170a4bcd58        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube controlle"   8 seconds ago        Up 8 seconds                            k8s_controller-manager.1598ee5c_k8s-master-127.0.0.1_default_f3ccbffbd75e3c5d2fb4ba69c8856c4a_e9c8eaa4
449b4751f0e4        gcr.io/google_containers/pause:0.8.0        "/pause"                 18 seconds ago       Up 18 seconds                           k8s_POD.e4cc795_k8s-master-127.0.0.1_default_f3ccbffbd75e3c5d2fb4ba69c8856c4a_b169f4ad
8c37ad726b71        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube proxy --m"   About a minute ago   Up About a minute                       naughty_jennings
de9cf798bc2b        gcr.io/google_containers/hyperkube:v1.0.1   "/hyperkube kubelet -"   About a minute ago   Up About a minute                       desperate_pike
6d969a37428e        gcr.io/google_containers/etcd:2.0.12        "/usr/local/bin/etcd "   About a minute ago   Up About a minute                       jovial_jang
[anovil@ubuntu-anovil ~]$ 

在启动 etcd、master 和 proxy 后你应该做的第一件事是检查 docker ps 看看它们是否都启动了。

此外,如果您仍然遇到问题,可以尝试发布您的 docker 版本、您的主机详细信息(OS、版本等)吗?

谢谢,(我没有足够的声誉来评论这个请求)