问题标签 [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 投票
1 回答
402 浏览

java - apache curator和etcd3的详细对比

我浏览了etcd3最新版本(2016 年 6 月 30 日发布)的文档,其中有很多改进etcd2。它包括,

  • 通过单个 TCP 连接多路复用流式监视
  • 增量快照以避免在创建快照时性能下降。
  • grpc调用以提高客户端的性能
  • 多路复用流租赁以减少网络使用。

当谈到在apache zookeeper之上编写的apache curator时,它的优势在于它是一个可靠、成熟的项目,有许多活跃的客户在生产中使用它。

Zookeeper 每个 watch 使用单独的 tcp 连接,每个租约使用单独的 tcp 连接。此外,zookeeper 的 watch 服务每个 watch 请求只通知一个事件,如果我们要持续监视特定节点,我们必须发出另一个 watch 请求。由于etcd3使用多路复用流,它不会用过多的 tcp 连接耗尽网络。

此外,etcd3使用zookeeper两种不同的算法来达成共识,ZAB并且raftraft 不太复杂。

我想实施distributed locks, (use) watches and need to write a mechanism to share commands throughout the cluster using the watch api. 此实现将插入到用 java 编写的 ESB。

现在我的问题是,我应该为我的实现选择哪一个(curator/etcd3),为什么?

我想看到一个很好的解释,因为我找不到这两种实现的直接比较。

提前致谢!

0 投票
1 回答
497 浏览

kubernetes - Flannel 与 etcd v3.0 的兼容性

我计划将我们的 Kubernetes 实例迁移到 etcd v3。你知道 Flannel 是否可以与 etcd v3 一起使用吗?

0 投票
0 回答
96 浏览

docker - etcd3 docker 持久化发现信息

我想用 Docker 部署一个有 3 个节点的 ETC 集群。所以我为此目的使用了一个探索网址。我遇到的问题是,当我删除一个 etcd 容器并启动一个新容器时,它无法重新加入集群。Docker 日志显示:成员“XXX”之前已注册发现服务令牌 ( https://discovery.etcd.io/yyyy ) 但 etcd 在给定数据目录 (/data) 中找不到有效的集群配置。

我正在为文件夹 /data 和 /waldir 使用卷 也使用 --net=host 所以它总是使用相同的主机 IP。

但是为什么新容器不能重新加入集群呢?集群信息保存在容器内的什么位置?

帮助将不胜感激。谢谢。

0 投票
1 回答
1043 浏览

docker - 在 Docker 上运行 etcd v3 时出错

当我尝试在 Docker 上运行 etcd(版本 3.0.0)时:

我有一个错误:

docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"-name\\\": executable file not found in $PATH\"\n".

此错误的原因是什么以及如何解决?

0 投票
1 回答
230 浏览

coreos - 将 ContainerOS (CoreOS) alpha 从 etcd2 迁移到 etcd3

我安装了 CoreOS 1353.1.0 的 Container Linux,它默认使用 etcd2。我什至找不到 etcd3 服务文件(systemctl | grep etcd仅显示etcd2.service)。

我想玩etcd3。特别是因为它是 Kubernetes 1.6 的默认存储后端。

有什么方法(简单或困难)从 etcd2 迁移到 etcd3?当我说迁移时..我不介意重新配置我的点火文件并重新安装所有操作系统。

任何有关该问题的信息将不胜感激。

ContainerOS Alpha 怎么没有附带 etcd3?!?!

谢谢!

0 投票
0 回答
242 浏览

coreos - coreos etcd 3 代理网关配置

我正在尝试使用代理配置设置 etcd3 中央集群和节点。我可以在 etcd2 中执行此操作,但是如何使用 etcd member.service 在 coreos 中的 etcd3 中进行配置,如果有人有示例配置,这将是一个很大的帮助。

哪一种是配置和运行 etcd3 集群的更好方法?作为服务或容器。我将 etcd2 作为服务运行。我正在尝试升级我的集群。从 2.3 到 3.1.5 的升级过程在 coreos 中并不清楚。

0 投票
1 回答
2455 浏览

etcd - 如何在服务发现中使用 etcd?

我是 etcd 的初学者,
我的目的是遵循
1.service 在服务启动后自行注册
2.client 查找服务并调用服务

以下代码显示测试如何找到服务并调用它

控制台输出“calc err: rpc error: code = Unavailable desc = there is no address available” 执行后resp, err := c.CalcResult(context.Background(), &req)
表示解析器无法从服务名称中找到服务地址
我猜有两种可能
1.调用服务需要启动etcd "proxy service" or "gateway" first
2. 需要手动从服务名中获取服务地址

以下代码显示注册服务

我的理解是功能“ClientTestService”连接etcd服务器并将服务名称解析为服务地址并通过平衡调用服务
但是当我调试此代码然后发现它只是通过平衡调用etcd时,etcd中是否有我需要的功能?

0 投票
1 回答
773 浏览

etcd - etcd 服务器输出一些错误

我用一个 etcdv3 单服务器启动,etcdctl get / put 没问题,但是服务器控制台有一些错误日志以及如何修复它

服务器启动脚本是:

0 投票
1 回答
1027 浏览

go - etcd3 Go Client - 如何对大量键进行分页?

似乎通过大量键进行分页涉及使用 Get() 的 WithFromKey() 和 WithLimit() 选项。例如,如果我想获取 10 个项目的 2 页,我会执行以下操作:

问题是最后一个键作为第二页的第一项再次被提取,我需要跳过它并且只有 9 个新项目。

这是分页的正确方法还是我错过了什么?

0 投票
1 回答
91 浏览

etcd3 - 如果 etcd3 中的键尚不存在,如何为键添加默认值?

在 etcd2 中,我可以填充一个默认值,如下所示:

如何使用 etcdv3 实现相同的逻辑?