4

我正在运行(从 Windows 8.1 开始)用于 CoreOS(yungsang/coreos)的 Vagrant VM。

我根据在此处找到的指南安装了 kubernetes,并使用我的图像为 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

编辑:更新

我没有自己运行命令,而是将其集成到 vagrant 文件中(这样)。

这使得 Kubernetes 可以正常工作。但是一段时间后,我的 vagrant ssh 连接被关闭。我重新连接并且我指定的任何 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

这个“超时”的来源是什么?(我在哪里可以找到有关此问题的任何日志)

4

3 回答 3

3

Kubernetes 的开发现在进展得非常快,所以明天可能就已经过时了。考虑到这一点,kubernetes 人员建议遵循他们的官方安装指南之一。最好的建议是使用新的安装指南之一重新开始,但是我自己学到了一些技巧。

首先要注意的是 Kubecfg 已被弃用,取而代之的是 kubectl。因此,如果您想获取有关 pod 的信息以供将来参考,您可以运行以下命令:

./kubectl get pods.

使用 kubectl,您还需要设置一个 env 变量,以便 kubectl 知道如何与 apiserver 通信:

KUBERNETES_MASTER=http://IPADDRESS:8080.

如果您使用的是 CoreOS,那么准确调试正在发生的事情的最简单方法是跟踪您感兴趣的服务的日志。因此,如果您有一个kube-apiserver单元,您可以通过运行来查看正在发生的事情:

journalctl -f -u kube-apiserver

从运行 apiserver 的节点。如果该服务未运行(可能是这种情况),您可以使用以下命令启动它:

systemctl start kube-apiserver

于 2014-12-16T19:52:58.230 回答
0

在 CoreOS 上,您应该使用journalctl.

例如,如果您希望查看etcdKubernetes 依赖于存储其 minions 状态的日志,请运行 run journalctl _COMM=etcd,同样journalctl _COMM=apiserver会显示来自apiserverKubernetes 的关键组件之一的日志。

如果您运行,您还将获得最后几个日志条目systemctl status apiserver

于 2014-11-01T13:38:04.360 回答
0

根据 errordevelopers 的建议,我最近的安装遇到了类似的问题。

使用systemctl status apiserver并且sudo systemctl start apiserver我设法让环境重新启动并运行。

于 2015-04-09T09:48:29.057 回答