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 apiserversudo systemctl start apiserver我设法让环境重新运行。