问题标签 [etcd]

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 回答
1323 浏览

amazon-web-services - Confd 错误:错误 501:所有给定的对等点都无法访问(尝试连接到每个对等点两次但失败)[0]

在调试时,我意识到 confd 没有获取密钥,我的日志看起来像这样:

Sep 18 18:31:50 ip-10-171-54-76.ec2.internal docker[24891]: [nginx] waiting for confd to refresh nginx.conf Sep 18 18:31:56 ip-10-171-54-76.ec2.internal docker[24891]: 2014-09-18T18:31:56Z 9122c7a54edc confd[9572]: ERROR 501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]

我使用 nsenter 登录到正在运行的容器来运行一些实验以进行调试。我运行了这个命令

confd -onetime -node 172.17.42.1:4001 -config-file /etc/confd/conf.d/nginx.toml

然后如上所述收到此错误

confd[12894]: ERROR 501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]

在这一点上,我完全无能为力。我将 EC2 与 CoreOS 的稳定版本一起使用,并且我确信 etcd 正在主机上运行。此外,我可以从容器内成功 ping 主机。

关于有什么问题的任何想法?

援助将不胜感激。

0 投票
1 回答
702 浏览

deployment - 用 ansible 运行 etcd

运行时

我必须按回车键才能返回控制台和 etcd 在后台运行

ANSIBLE

如何使用 ansible 重新创建此目的?

我想以这种方式用 ansible 启动 etcd

ansible 保持返回命令,不再继续下一个任务。


也许解决方案正在后台运行 etcd。我不知道如何


使用

  • 安可 1.6.6

  • 等 0.4.6

0 投票
1 回答
5463 浏览

etcd - 跨多个数据中心使用 etcd 是否安全?

跨多个数据中心使用 etcd 是否安全?因为它将 etcd 端口暴露给公共互联网。在这种情况下我是否必须使用客户端证书或 etcd 有某种身份验证?

0 投票
3 回答
2440 浏览

bash - 读取 redis-cli subscribe 的标准输出并在消息上运行 bash 命令

我想要一个 bash 脚本,它读取redis-cli订阅的标准输出并在收到消息时执行某些操作,以及消息值。

订阅可以作为参数传递给redis-cli喜欢

但是然后我需要将该标准输出通过管道传输到某些东西,以便我可以解析消息。我考虑过使用while read line; do循环,但单个 redis 消息占用 3 行。

更新

我的结局是通过在 etcd 上设置一个键来宣布一个新的 redis 主控。这应该可以通过订阅switch-masterredis 哨兵上的频道来实现。[1] 该消息的值应该类似于以下内容<master name> <oldip> <oldport> <newip> <newport>,我想将其设置newip为 etcd 上的值。

收到该消息时我想运行的命令是etcdctl set /redis/master $NEWIP

[1] http://redis.io/topics/sentinel

0 投票
1 回答
76 浏览

coreos - cloud-config 中 ETCD_PEER_KEY_FILE 的语义是什么

一个etcd实例可以有多个对等点。根据CoreOS doc,我可以配置一个参数ETCD_PEER_KEY_FILE=/path/to/peers.key。如果我根据它的名称来解释这个参数,我可以将一个对等点(或多个对等点_s_)的私钥放在那个文件中。这背后的原因是什么?有人可以解释一下,这个参数的真正含义(没有找到任何文档)。

0 投票
2 回答
4268 浏览

docker - 通过 systemd 在 CoreOS 中启用 etcd 服务自动启动

我已经部署了一个带有 VMware 映像的 CoreOS 独立服务器,请按照本指南体验 CoreOS。

部署成功后,发现我的CoreOS只启用了Docker服务,没有运行etcd和fleet服务。虽然我知道如何使用 systemd 手动运行 etcd 和队列服务。而且我也知道使用适当的云配置可以安装 CoreOS,其中 etcd 和队列服务会自动启动。

但我想知道:

  1. 是否可以放置一个单元文件/etc/systemd/system以使 systemd 自动启动 etcd 服务?
  2. 如果可以,单元文件的内容是什么?
  3. 如果不能,还有什么办法?

谢谢

0 投票
1 回答
357 浏览

docker - CoreOS 上的 etcd api - 远程设置 ip 地址配置

我正在尝试使用 etcd 的远程 api 使用静态值(如 ip 地址、dns 解析地址、网关等)远程配置 coreOS 框。

我理论我应该能够提交类似的文件:

curl -X PUT " http://xxx.xxx.xxx.xxx:4001/v2/keys/etcd/registry/ ???_/_state? prevExist =false " -d value=10.10.10.1

但我找不到要使用的确切语法的参考。

0 投票
1 回答
2544 浏览

race-condition - 如何解决 etcd 领导者选举中的竞争条件?

在测试具有三个节点的 Core Os 集群时,在成功添加和删除几个额外节点后,我遇到了以下问题,可能是由于 etcd 选举过程中的竞争条件。

检查新领导人给出:

集群中每台机器的 Journalctl 给出:

列出带有队列的机器失败:

列出集群中的机器给出:

但目前只有三台机器在运行。我试图添加额外的机器以达到法定人数但无济于事。我正在运行以下版本:

为此,正如这里提到的https://coreos.com/docs/distributed-configuration/etcd-api/#cluster-config,强制领导者的领导者模块已被删除。丑陋的部分是,由于没有法定人数,我无法从机器列表中删除当前未运行的机器,例如:

这没有效果。有什么方法可以保存集群吗?

0 投票
1 回答
298 浏览

coreos - 无法在集群中使用 etcd

我已经阅读有关集群架构的指南,并使用以下配置构建了一个开发集群:

所有机器都在同一个子网上。

一台机器充当主机,仅运行etcd(IP 地址为 192.168.0.95)。

然后我有三个工人使用这个配置运行舰队:

我可以通过fleetctl控制机器和单元,但我无法正确使用etcdctl

每个工作人员在使用密钥时都使用本地etcd,因此密钥仅存在于创建它们的工作人员上!

鉴于上述配置,这不应该发生吗?

谢谢

0 投票
1 回答
4333 浏览

vmware - 如何通过 config-drive 在 VMware ESXi 中为 coreos 定义静态 IP 地址

我在 VMware ESXi 上部署了几个 coreos 实例。etcd 似乎对 IP 地址非常挑剔,尤其是当它们发生变化时。

我希望能够通过 cloud-config 以一种不会混淆 etcd 集群的方式定义静态 IP 地址。看起来在 coreos booup 期间需要发生的事情是它需要在启动 etcd 之前首先使用静态 IP 地址启动接口。我试图用我的 user_data 文件的这一部分来做到这一点:

发生的情况是 coreos-cloudinit 进程会在引导期间将此文件写入文件系统,但前提是它首先使用 DHCP 启动网络接口。然后 etcd 将启动,但会因为 user_data addr 和 peer-addr 设置与 DHCP 不匹配而感到困惑。如果我在系统首次启动后手动重新启动系统,它将开始使用之前在 static.network 文件中记录的静态 IP 地址。是否可以避免第二次重新启动,即在定义 static.network 后启动网络?

似乎根本问题可能只是 vmware 提供程序不理解其他提供程序(例如 vagrant)使用的 $public_ip4 构造:

据我所知,使用 vagrant/virtualbox 时不存在此问题。