尝试启动API服务器时,hyperkube卡住了

时间:2017-02-28 21:36:04

标签: docker kubernetes google-compute-engine

我在Hyperkube中运行Kubernetes 1.5.0,并且在日志中循环重复以下几行:

E0228 21:28:35.891472   20321 reflector.go:188] pkg/kubelet/config/apiserver.go:44: Failed to list *api.Pod: Get http://localhost:8443/api/v1/pods?fieldSelector=spec.nodeName%3D127.0.0.1&resourceVersion=0: dial tcp 127.0.0.1:8443: getsockopt: connection refused
E0228 21:28:35.892410   20321 reflector.go:188] pkg/kubelet/kubelet.go:386: Failed to list *api.Node: Get http://localhost:8443/api/v1/nodes?fieldSelector=metadata.name%3D127.0.0.1&resourceVersion=0: dial tcp 127.0.0.1:8443: getsockopt: connection refused

以下是我启动Hyperkube的方法:

docker run \
    --volume=/:/rootfs:ro \
    --volume=/sys:/sys:ro \
    --volume=/var/lib/docker/:/var/lib/docker:rw \
    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
    --volume=/var/run:/var/run:rw \
    --net=host \
    --pid=host \
    --privileged=true \
    --name=kube -d \
    gcr.io/google-containers/hyperkube:v1.5.3 \
    /hyperkube kubelet --containerized \
    --hostname-override="127.0.0.1" \
    --address="0.0.0.0" \
    --api-servers=http://localhost:8443 \
    --allow-privileged=true --v=2

1 个答案:

答案 0 :(得分:0)

为了使@ nehal-j-wani的评论成为第二,8443是安全端口,但您使用的是http方案,没有任何客户端或CA证书。

听起来您不打算通过TLS与本地API服务器通信,所以您应该选择:

  • 使用不安全的端口(默认为8080
  • 修复您的kubelet标记以正确使用TLS通信

另见: