错误:无法从服务器读取版本:获取http:// localhost:8080 / api:拨打tcp 127.0.0.1:8080:连接被拒绝

时间:2016-01-13 13:06:53

标签: tcp docker kubernetes

我在linux上安装了kubernetes。我使用了这些步骤http://kubernetes.io/v1.1/docs/getting-started-guides/docker.html

首先,一切正常且有效。然后我关闭终端并再次打开给予错误权限被拒绝。重启机器后给出以下错误

  

kubectl get pod
  错误:无法从服务器读取版本:获取http://localhost:8080/api:拨打tcp 127.0.0.1:8080:连接被拒绝

我刚刚开始使用Kubernetes

2 个答案:

答案 0 :(得分:2)

似乎是一个TCP问题。尝试通过检查TCP / 8080是否按问题打开来隔离问题

  

telnet 127.0.0.1 8080

如果你的连接遭到拒绝' - 您应该查看机器的防火墙/安全设置。

答案 1 :(得分:0)

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

  1. 按照上面链接中的说明在新的ubuntu 15.04计算机上安装Kubernetes。
  2. 停止(使用docker)指令中给出的所有容器。
  3. 退出并重新登录
  4. 启动etcd然后kubernetes master然后再使用服务代理再次启动它们。
  5. 然后我立即运行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 ~]$ 
    

    然后我运行了docker ps来检查它们是否全部在运行,而且似乎并非如此。

    [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版本,主机详细信息(操作系统,版本等)吗?

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