【问题标题】:etcd error when trying to list machines尝试列出机器时出现 etcd 错误
【发布时间】:2016-04-11 16:24:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: etcd


    【解决方案1】:

    您使用的 api 已弃用。

    使用

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

    curl -L http://127.0.0.1:4001/v2/members
    

    【讨论】:

    【解决方案2】:

    您可能想要使用 etcd2。此外,fleet 还可以让您轻松地与之交互。

    这是一个适用于 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-11-08
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 2019-06-25
    相关资源
    最近更新 更多