CoreOS fleetctl list-machines没有显示3台机器

时间:2017-01-20 19:21:46

标签: digital-ocean coreos

我正在关注CoreOS上的DigitalOcean教程(https://www.digitalocean.com/community/tutorials/how-to-create-flexible-services-for-a-coreos-cluster-with-fleet-unit-files)。当我在节点1和节点2上执行fleetctl list-machines命令时,我无法看到列出的所有3台机器,只能看到它自己的节点。以下是我看到的内容:

core@coreos-1 ~ $ fleetctl list-machines
MACHINE     IP      METADATA
XXXX... 10.abc.de.fgh   -

我登录到我的第3个节点并注意到当我执行fleetctl list-machines时出现以下错误:

core@coreos-3 ~ $ fleetctl list-machines
Error retrieving list of active machines: googleapi: Error 503: fleet server unable to communicate with etc

我该怎么做才能找出问题所在以及如何解决这个问题?我尝试过重启和其他提到的事情,但没有任何帮助。

1 个答案:

答案 0 :(得分:0)

发生的事情是我在我的单元文件中有一个etcd依赖项,其中包括:

# Dependency ordering
After=etcd.service

我想我需要etd2代替。

所以我按照指示做了以下事情:

sudo systemctl stop fleet.service fleet.socket etcd
sudo systemctl start etcd2
sudo systemctl reset-failed

当我查询文件时,我不得不清理有文件的实例:

core@coreos1 ~ $ etcdctl ls /_coreos.com/fleet/job
/_coreos.com/fleet/job/apache.1.service
/_coreos.com/fleet/job/apache@.service
/_coreos.com/fleet/job/apache@80.service
/_coreos.com/fleet/job/apache@9999.service
/_coreos.com/fleet/job/apache-discovery.1.service
/_coreos.com/fleet/job/apache-discovery@.service
/_coreos.com/fleet/job/apache-discovery@80.service
/_coreos.com/fleet/job/apache-discovery@9999.service

发出

etcdctl ls /_coreos.com/fleet/job/apache.1.service
etcdctl rm --recursive /_coreos.com/fleet/job/apache-discovery.1.service

然后我开始了舰队

sudo systemctl start fleet

当我再次使用fleetctl list-machines时,它显示了我所有的实例连接。