问题标签 [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 回答
604 浏览

spring-boot - 通过spring boot在etcd中发布时grcp失败

我正在使用 springbok 示例运行一个简单的 etcd 连接。grcp我的Spring Boot 日志和服务器日志中都出现错误。我怎样才能解决这个问题?

错误

在 ETCD 服务器

尝试设置保持活动属性但没有用

0 投票
0 回答
369 浏览

etcd - etcd 3 范围查询

如何根据这些值使用 etcds 新范围查询来获取记录子集:

我希望能够像这样查询该数据:

获取从 a-key/path/foo_3 到 a-key/path/foo_4 的所有内容(具体的最终结果),返回:

或者,从 a-key/path/foo_3 开始(没有结束)的所有内容,例如:

如果这有助于/影响任何答案,我正在使用 .NET (Core) 的dotnet-etcd客户端。

a-key/path/foo_密钥没有尽头,这意味着它们可以永远存在......在 Azure 表存储中,我可以像这样查询相同的数据:

0 投票
0 回答
1632 浏览

python-3.x - python etcd3 引发 grpc._channel._InactiveRpcError

我正在使用此模块 [1]:https ://github.com/kragniz/python-etcd3与 etcdv3 进行通信。我已经创建了所有必要的证书并测试了客户端与 curl 的安全连接。但是,尝试简单的 get 操作会失败。下面的代码片段和异常。

我没有用 grpc 做太多事情,所以我不确定是否应该传递一些选项来初始化 etcd3 客户端。

0 投票
0 回答
75 浏览

etcd - ETCD警告服务器需要初始化root用户

我有一个简单的etcd服务器正在运行,我正在使用这个 github 项目etcd-keeper来可视化etcd.

你可以在这里找到 etcd-keeper 项目:https ://github.com/evildecay/etcdkeeper

我已经创建了root使用etcdctl,一切正常。

而且我需要创建另一个具有有限视图访问权限的用户。因此,我创建了另一个test-user用户并添加read-only了具有相关权限的角色。

一切都很好,但是当我尝试使用etcd-keeper它访问 etcd 服务器时,除非我先用用户登录,否则我无法使用凭据登录test-userroot

我不需要与使用test-user. 否则创建新用户没有意义。

我收到如下警告:

在此处输入图像描述

有人可以帮我解决这个问题吗?这是来自etcd服务器端的错误吗?有人用过这个etcd-keeper吗?

谢谢你。

0 投票
1 回答
306 浏览

node.js - 如何将 etcd3 nodejs 客户端用于与标准不同的端口?

我将https://github.com/microsoft/etcd3用于 etcd3 NodeJS 客户端,但默认情况下,gRPC 使用默认端口 2379 或 2380。但我正在运行多个 etcd docker 容器实例。如何基于多个端口创建多个客户端。

谢谢。

0 投票
1 回答
623 浏览

kubernetes - 如何在现有的裸机 kubernetes 集群中编辑 etcd 配置

我在一些物理 RHEL 机器上安装了一个独立的 Kuberenets 集群。

我正在经历容器etcdkube-apiserver容器的反复崩溃。从他们的日志中,我设法猜测我需要调整 etcd 以在这种环境中更好地执行。

以下指南参考了如何调整 etcd:https ://etcd.io/docs/v3.4.0/tuning/

但是,我不确定如何在现有集群中完成。它是 Kubernetes 原生组件吗?我应该修补它的部署吗?etcd 本身已关闭,这非常困难。

错误日志片段:

kube-apiserver

0 投票
0 回答
188 浏览

kubernetes - Kubernetes 升级计划命令失败,因为 etcd 集群无法使用维护客户端拨打端点 https://192.168.5.12:2379

我在虚拟机虚拟机上使用 Kubeadm 创建了一个 Kubernetes 集群。我正在尝试从 v1.18.0 升级到 v1.20.5。但我只是为了获得升级计划而遇到问题。该问题与etcd有关。下面解释。

簇:

  • 2个主节点
  • 2 个子节点
  • 两个主节点中的 2 个 ETCD 成员
  • 1个负载均衡器

ETCD 成员列表 集群健康。

ID 地位 姓名 同行地址 客户地址
71e6a7dee81f2d25 开始 大师-2 https://192.168.5.12:2380 https://192.168.5.12:2379
c0f09c2e98e39311 开始 大师-1 https://192.168.5.11:2380 https://192.168.5.11:2379

节点

姓名 地位 角色 年龄 版本 内部IP
大师-1 准备好 掌握 10小时 v1.18.0 192.168.5.11
大师-2 准备好 掌握 10小时 v1.18.0 192.168.5.12
工人1 准备好 10小时 v1.18.0 192.168.5.21
工人 2 准备好 10小时 v1.18.0 192.168.5.22

问题

当我尝试使用“kubeadm upgrade plan”获取升级计划时,出现以下错误。

错误

检查连接 Master-1

大师-2

主节点上的 ETCD 成员 1 定义:192.168.5.11

主节点上的 ETCD 成员 2 定义:192.168.5.12

0 投票
1 回答
176 浏览

etcd - ETCD 快照恢复 + DNS 发现问题

我正在尝试从快照中恢复 Amazon ECS 上的 5 节点 ETCD 集群(使用 DNS 发现),但发生的情况是每个节点都作为单节点集群启动,并且节点没有相互添加成员。

etcd 的 docker 容器内的启动脚本如下

它的工作方式是节点名称(THIS_NAME)成为与容器的 ip 地址相关的东西,例如ip-10-0-6-22,并且私有 ip 地址(THIS_IP)是通过亚马逊 ip 元数据检索的。

日志看起来像这样

谁能帮我解决这个问题?

0 投票
0 回答
136 浏览

grpc - ETCD 客户端监视事件负载均衡器

是否存在允许对 ETCD Watch 事件进行负载平衡的解决方案?

所请求的解决方案如下: 在此处输入图像描述

  1. “客户端 A”为密钥建立监视流/app/status
  2. “客户端 B” 为密钥建立监视流/app/status
  3. “客户端 C” 为 key 建立监视流/app/status
  4. 在 ETCD 中,密钥/app/status是从单独的客户端更改的
  5. “负载均衡器”确保只有“客户端 B”接收此更改事件
  6. 在 ETCD 中,密钥/app/status再次从单独的客户端更改
  7. “负载均衡器”确保只有“客户端 C”接收此更改事件
  8. 在 ETCD 中,密钥/app/status再次从单独的客户端更改
  9. “负载均衡器”确保只有“客户端 A”接收此更改事件

从示例中可以看出,负载均衡器正在对返回事件执行循环负载均衡。

我查看了 ETCD 中的 GRPC 代理,它结合了对 ETCD 服务器的监视请求,这很好,但是将事件广播回客户端,这意味着所有客户端都接收到事件。我看不到任何允许我更改客户端广播行为的选项。

这个请求是否破坏了 ETCD 架构中 Watch 流的基本部分?我是否应该为此功能使用与 ETCD 不同的东西?

0 投票
1 回答
260 浏览

etcd - etcd v3 中“Watch key changes”的最佳实践

我们想使用带有“watch”功能的etcd来改变我们的“/etc/hosts”文件。一个节点应该改变这个值,然后手表应该把改变写在“/etc/hosts”中。

节点 1 输入:

Node2 观察:

节点2输出:

这工作正常,但现在我想要一个像这样的多行输出:节点 2 输出:

我的想法是:

但它不起作用。

输出是:

有谁知道处理我的问题的最佳方法?以及如何将多行变成一个值?

谢谢你的帮助。