CoreOS fleetctl list-machines 不显示 3 台机器

CoreOS fleetctl list-machines not showing 3 machines

我正在关注 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

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

发生的事情是我的单元文件中有一个 etcd 依赖项,我有以下内容:

# Dependency ordering
After=etcd.service

我想我需要 etcd2。

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

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

然后我开始fleet

sudo systemctl start fleet

当我再次执行 fleetctl list-machines 时,它显示我所有的实例都已连接。