kubernetes无法连接新的CoreOS安装
我正在运行(从Windows 8.1)一个用于CoreOS ( yungsang / coreos )的Vagrant虚拟机。
我根据我在这里find的指南安装了kubernetes,并使用我的图像创build了pod的json。
当我执行sudo ./kubecfg list /pods
出现以下错误:
F0909 06:03:04.626251 01933 kubecfg.go:182] Got request error: Get http://localhost:8080/api/v1beta1/pods?labels=: dial tcp 127.0.0.1:8080: connection refused
同样适用于sudo ./kubecfg -h http://127.0.0.1:8080 -c /vagrant/app.json create /pods
编辑: 更新
我不是自己运行命令,而是集成到stream浪文件中( 如此 )。
这使得kubernetes工作正常。 但一段时间后,我的stream浪ssh连接closures。 我重新连接,我指定的任何kubernetes命令导致与上面相同的错误。
编辑2: 更新
我设法让它再次运行,但我不确定它是否会顺利运行
我不得不重新执行下面的命令。
sudo systemctl start etcd sudo systemctl start download-kubernetes sudo systemctl start apiserver sudo systemctl start controller-manager sudo systemctl start kubelet sudo systemctl start proxy
我相信它实际上是需要重新启动的apiserver
这个“超时”的来源是什么? (我可以在这里find任何日志)
现在Kubernetes的发展正在疯狂地快速发展,所以明天可能会过时。 考虑到这一点,kubernetes人推荐遵循其官方安装指南之一 。 最好的build议是从新的安装指南中重新开始,但是我自己也学到了一些技巧。
首先要注意的是,Kubecfg被赞成kubectl而被弃用。 所以为了将来的参考,如果你想获得关于一个吊舱的信息,你会运行类似于:
./kubectl get pods
。
使用kubectl,您还需要设置envvariables,以便kubectl知道如何与apiserver交谈:
KUBERNETES_MASTER=http://IPADDRESS:8080
。
如果你使用的是kube-apiserver
,debugging到底是怎么回事,最简单的方法就是找出你感兴趣的服务的日志。所以,如果你有一个kube-apiserver
单元,你可以通过运行来查看结果:
journalctl -f -u kube-apiserver
来自运行apiserver的节点。 如果该服务没有运行,可能是这种情况,您可以使用以下命令启动它:
systemctl start kube-apiserver
在CoreOS上,您应该使用journalctl
来查看日志。
例如,如果你希望看到etcd
用来存储它的状态的etcd
日志,运行journalctl _COMM=etcd
,同样的journalctl _COMM=apiserver
会显示来自apiserver
的日志,这是apiserver
的关键组件之一。
如果您运行systemctl status apiserver
您还会获得最后几个日志条目。
基于errordevelopers的build议,我最近的安装运行反对类似的问题。
使用systemctl status apiserver
和sudo systemctl start apiserver
我设法让环境重新运行。