etcd v3 API不可用

时间:2019-02-20 14:20:35

标签: kubernetes etcd coredns

我正尝试将etcd作为后端部署CoreDNS。我已经完成了etcd和CoreDNS的大部分配置,但是我正在尝试为开发人员记录如何将记录推入CoreDNS的etcd中。

阅读所有etcd v3文档,从etcd v2中的v2 API更改为etcd v3中的v3 API。有多个页面引用使用URL进行的API调用,例如:

curl -L http://localhost:2379/v3beta/kv/put \
  -X POST -d '{"key": "Zm9v", "value": "YmFy"}'

我尝试了http://IP:2379/[v3alpha |的多种组合v3beta | v3] / kv / put,我总是找不到或找不到404。

这很好:

curl http://IPADDRESS:2379/v2/keys/test/local/test -XPUT -d '{"host":"IPADDRESS","ttl":60}'

但这不是:

curl http://IPADDRESS:2379/[v3alpha | v3beta | v3]/keys/test/local/test -XPUT -d '{"host":"IPADDRESS","ttl":60}'

文档中是否缺少某些内容?

我正在运行etcd v 3.3.12。

1 个答案:

答案 0 :(得分:0)

检查了etcd源代码后,我终于找到了此问题的RC。在etcd 3.3.0中,如果etcd从yaml配置文件中加载配置,则config标志“ enable-grpc-gateway”的默认值为false,但如果etcd从命令行中加载配置标志,则默认值为true。因此,将以下几行添加到您的etcd配置文件中即可解决此问题。

enable-grpc-gateway: true

我尝试过etcd 3.3.13,此版本已修复