问题标签 [etcd3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1793 浏览

go - etcd v3 中的比较和交换?

我正在尝试使用 etcd 的v3API 的 Go 客户端对给定的密钥进行比较和存储操作。看到--swap-with-value似乎消失了etcdctl put,我怀疑客户端库中也没有相应的方法或参数。因此,我正在尝试自己的实现:

但是,Go 拒绝使用此消息进行编译:

这种方法有什么问题?为什么 Go 拒绝编译这段代码?

编辑:感谢 JimB,我发现etcdv3正在导入旧golang/x/net/context包。我切换了import语句,但我仍然得到类似的东西:

0 投票
3 回答
1052 浏览

kubernetes - etcd v3 无法读取编码值

我正在尝试从 kubernetes 集群中的 etcd v3 检索值。这些值似乎已编码,并且不会完整返回。当 时-w simple,返回的值带有很多小菱形中的问号。使用 时-w json,返回值如下:

键和值似乎已编码,但我找不到获取纯文本值的方法。

如何获取给定键的纯文本值?

0 投票
0 回答
380 浏览

etcd3 - 如何在 Kubernetes 中创建 EtcdCluster

Etcd-operator (v0.5.1) 示例的文件带有kind: "EtcdCluster".

资源

如何在 Kubernetes 中创建这种类型?

etcd-operator 文档似乎没有涵盖这一点,而且他们似乎没有专门的邮件列表(否则,我会在那里发布这个问题)。

0 投票
2 回答
5877 浏览

etcd3 - 通过“绑定:无法分配请求的地址”启动 etcd 失败

我将 etcd 作为 docker 容器运行,而 10.132.41.234 是我在其上运行 docker 容器的主机 IP,我收到这样的错误信息,我不知道它是否正确,我现在对 etcd 很熟悉,有人可以帮忙? 谢谢!

0 投票
1 回答
2710 浏览

node.js - 错误:getaddrinfo ENOTFOUND 同时向 localhost、Nodejs 发出获取请求

我正在尝试通过节点 http 模块向在本地运行的 etcd 实例发出 het 请求。

代码看起来像这样

但我收到以下错误

如果我从终端发出相同的 curl 请求,我会得到结果

curl http://127.0.0.1:2379/v2/keys/message -X GET

无法弄清楚是什么问题。

0 投票
2 回答
5106 浏览

etcd - etcdctl:找不到命令

您好我正在使用 etcd 版本如下

{"etcdserver":"3.2.7","etcdcluster":"3.2.0"}

我需要获取密钥的版本历史记录,但对我而言,如果我这样做,只有 curl 命令有效

我得到:

-bash:etcdctl:找不到命令

我可以使用 v2 运行 etcdctl,但使用 v3 时出现此错误。

0 投票
1 回答
831 浏览

kubernetes - 从 kubernetes-etcd 检索端点以获取 haproxy

我尝试使用 confd 从我的 kubernetes-etcd-cluster 中检索 kubernetes 端点以获取 haproxy。

执行 confd 时,它总是返回错误,找不到该键 '/registry':

但是使用 etcdctl 在“/registry”中/下方列出可以正常工作。

单个端点也可以:

但是,使用 curl 列出与上面相同的端点会失败:

为什么我不能用 curl 列出任何东西,而 etcdctl 有效?

任何人都可以对此有所了解吗?

0 投票
1 回答
909 浏览

kubernetes - 如何使用 kubernetes 1.6 在 etcd v3 中执行 protobuf 反序列化?

在 kubernetes 1.6 中,etcd v3 中的信息存储,我使用“etcdctl get”命令获取信息如下: 在此处输入图像描述

我的问题是如何反序列化信息?如何通过“protoc --raw”命令反序列化信息?我在一个网站上阅读了这篇论文:

“您有我们在使用 etcd2 防止 protobuf 存储中捕获并修复的异常数据,它是 base64 编码的 protobuf(etcd2 不支持存储二进制值)。在 1.6 中我们默认为支持二进制值的 etcd3 模式,并且默认存储在“application/vnd.kubernetes.protobuf”,这是值的以下形式

4 个字节 - k8s\x00runtime.Unknown (pkg/runtime/types.go#Unknown) 的 protobuf 编码 *“typeMeta”字段设置为与 API 返回的 kind 和 apiVersion 相同的值 *“raw”字段设置为由 typeMeta 标识的 golang 结构的 protobuf 编码字节 - 没有幻数

您可以使用以下方法对此进行解码:

head -4(去除幻数)| protoc --raw(解码proto)

然后,您也可以使用 protoc 解码原始正文。”

但我不知道如何执行它,有人知道吗?

0 投票
1 回答
955 浏览

etcd - txn 请求中给出的重复键,同时尝试按前缀删除所有键并重新放置它们

尝试用于从 Java 代码coreos/jetcd更新 haproxy 设置。etcd

我想要实现的是:

  1. 删除单个主机的所有端点
  2. 为给定主机添加更新数据

我想通过前缀删除所有键,并将实际数据作为原子操作放入 etcd。

这就是我尝试使用 etcd 事务的原因。我的代码是:

使用 ETCD v3 API (etcd v3.2.9)。KVstore 最初是空的,我想添加 3 条记录。 prefix值为:

并且kvs是一个地图:

异常发生commit().get()在线与以下根本原因:

我做错了什么,我还能如何完成几个 etcd 更改作为原子操作?

0 投票
1 回答
936 浏览

etcd3 - etcdctl can't see the key put by go client

I run etcd by this command (no more other configuration)



more details more details more details more details more details more details more details more details more details more details more details more details more details more details more detailsmore details more details more details more details more details more details more details more details more details more details more details more details more details more details more details