Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes etcd v3 API不可用_Kubernetes_Etcd_Coredns - Fatal编程技术网

Kubernetes etcd v3 API不可用

Kubernetes etcd v3 API不可用,kubernetes,etcd,coredns,Kubernetes,Etcd,Coredns,我正在尝试使用etcd作为后端部署CoreDNS。我已经完成了etcd和CoreDNS的大部分配置,但我正试图为开发人员记录如何将记录推送到etcd中以供CoreDNS使用 阅读所有ETCDv3文档,ETCDv2中的v2API更改为ETCDv3中的v3API。有多个页面引用使用URL进行的API调用,例如: curl -L http://localhost:2379/v3beta/kv/put \ -X POST -d '{"key": "Zm9v", "value": "YmFy"}'

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

阅读所有ETCDv3文档,ETCDv2中的v2API更改为ETCDv3中的v3API。有多个页面引用使用URL进行的API调用,例如:

curl -L http://localhost:2379/v3beta/kv/put \
  -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
我尝试了| 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 v3.3.12。

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

enable-grpc-gateway: true

我尝试了etcd 3.3.13,它在这个版本中是固定的。

您正在部署哪个特定版本?更大的问题:v3 API基于gRPC,不再是JSON/restful;卷曲不再是使用它的首选方式。您提到的示例是使用代理服务器,但这并不理想,需要您实际运行该服务;如果你能详细介绍一下你是如何安装的,这样我们就可以确保软件确实在运行。我想在我的文章中包括这一点。etcd的版本是3.3.12。我正在使用提供的最新Linux二进制文件运行etcd。不是我自己造的@CharlesDuffy,你特别需要哪些细节?它已经部署,我已经能够成功地使用v2 URL进行测试。V3URL并没有像文档中描述的那样工作。我也遇到了这个问题,在多次更改etcd.conf之后,我发现如果etcd启动时没有-config文件,V3RESTAPI也可以正常工作。但是如果它是以-config文件启动的,即使指定了一个空文件,V3RESTAPI也不会工作。很奇怪。