尝试启动API服务器时,hyperkube卡住了
我在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
要从@ nehal-j-wani发表评论, 8443
是安全端口,但是您使用的是http
scheme,没有任何客户端或CA证书。
听起来你不打算通过TLS与本地API服务器通信,所以你应该:
- 使用不安全的端口(默认为
8080
) - 修复您的kubelet标志以正确使用TLS通信
也可以看看:
- kubelet
- TLS引导
- docker容器:在/ var / www的/ Users / www / 中添加符号链接来访问和提供本地文件
- 在Docker中使用Protobuf的Python“TypeError:无法将原始文件构build到描述符池中!
- Docker中的Sbt-native-packager&AutoPlugin&Mappings
- 通过API在ECS上安装目录?
- docker分割错误(core dump),在这种情况下该怎么办?
- libcurl与Ubuntu 14.04上的ares
- 通过Powershell使用多个命令启动外部程序
- 将Mac OSX主机上的文件保存到Docker容器(自动重新加载)
- 来自cmd行的Dockerlogin会产生I / O超时