0

我正在试验 etcd,并且已经能够让它在集群中运行并执行大部分预期的功能。但是,我正在尝试执行一些基本的管理和监控请求,但遇到了不寻常的错误。

我执行以下命令(在 COREOS文档中):

curl -L http://127.0.0.1:7001/v2/admin/machines

我得到以下回复:

404 page not found

注意:我确认 etcd 可以正常工作(因为我可以看到其他命令运行良好)。

我的配置如下:

$ etcd --version

etcd Version: 2.3.0
Git SHA: 5e6eb7e
Go Version: go1.5.3
Go OS/Arch: darwin/amd64
4

2 回答 2

1

您使用的 api 已弃用。

利用

curl -L http://127.0.0.1:7001/members

或者

curl -L http://127.0.0.1:4001/v2/members
于 2016-04-11T08:24:01.117 回答
1

您可能想使用 etcd2。舰队还允许您轻松地与之交互。

这是适用于 coreos 的示例 cloud-init:

etcd2:
    discovery: "https://discovery.etcd.io/<your_token>"
    advertise-client-urls: http://$$private_ipv4:2379,http://$$private_ipv4:4001
    initial-advertise-peer-urls: http://$$private_ipv4:2380
    listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
    listen-peer-urls: http://$$private_ipv4:2380,http://$$private_ipv4:7001
  fleet:
    etcd-servers: http://$$private_ipv4:2379
  units:
    - name: etcd2.service
      command: start
    - name: fleet.service
      command: start

然后您可以轻松运行:

johnt@docker ~ $ sudo fleetctl list-machines
MACHINE     IP      METADATA
cfa23XXX... 172.16.32.XXX   -
johnt@docker ~ $

您还可以通过运行以下命令来检查 etcd 文件夹中的内容:

johnt@docker ~ $ etcdctl ls /
/coreos.com
johnt@docker ~ $
于 2016-04-06T16:18:19.723 回答