我正尝试将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。
答案 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,此版本已修复
。