问题标签 [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.
security - TLS 安全 etcd 上的 Kubernetes
运行 CoreOS,etcd 默认不安全。为了保护它,我可以使用 TLS,这增加了我愿意处理的复杂程度。
现在,Kubernetes 是否能够使用 TLS 保护的 etcd 集群?
在 kubelet 和各种 pod 的配置中,Kubernetes 将 etcd 端点作为参数传递,因此它们需要 etcd,并且如果它是安全的,则需要证书才能与之对话。如果 Kubernetes 支持与 etcd 的 TLS 连接,它是如何配置的?
谢谢
mysql - 为什么 zk/etcd over rdbms 用于集群协调
zk/etcd 相对于 mysql/pgsql 等 rdbms 在集群协调方面有什么优势?
HA:如今的 rdbms 具有带见证的同步透明故障转移。
分布式系统可以更好地水平扩展,但我不认为像 hadoop/kubernetes/etc 这样的集群协调有那么大的吞吐量或数据大小的要求。
所以呃... zk/etcd 为集群协调提供了哪些传统 rdbms 无法实现的功能?
ssl - 无法针对 tls 安全的 etcd 设置 kubernetes
我正在尝试使用 etcd 配置启动 kubernetes api 服务器(kubernetes 使用 go-etcd,它具有从配置文件中读取所有参数的方法):
但在 kube-apiserver 中失败,因为它无法成功访问 etcd。我认为这是因为它试图同步集群......但我不知道。
我已经使用内部 ips 创建了一个(etcd)集群,用于广告和客户端地址,但设置为 0.0.0.0/0 的 listen-client-urls 除外。此外,整个集群位于负载均衡器后面,可通过my-public-hostname
.
在容器内部(因为我正在使用hyperkube
),etcdctl
除非我设置“--no-sync”参数,否则它将无法工作。如果我在没有该参数的情况下使用 etcdctl,它可能会像 kube-apiserver 一样失败。但是我无法检查 kubernetes 中执行集群同步的代码...
有任何想法吗?
提前致谢。
编辑:
这似乎是与 kubernetes 中的当前 etcd 客户端(https://github.com/coreos/go-etcd)相关的错误,这不是最新的(https://github.com/coreos/etcd/client ) )。我根据经验对此进行了测试,“etcd/client”有效,但“go-etcd”无效,您可以在此处查看此测试:https ://github.com/glerchundi/etcd-go-clients-test 。
值得注意的是,在 kubernetes 中将 go-etcd 迁移到 etcd/client 的工作正在进行中:https ://github.com/kubernetes/kubernetes/issues/11962 。
Kubernetes 团队的任何人都可以证实这一点吗?
附录1
我正在尝试在 CoreOS 中运行 kubernetes,并且:flannel
工作,locksmithd
工作,fleet
工作(他们使用相同的 etcd 客户端凭据访问 etcd)所以这可能与 kubernetes 如何访问 etcd 端点有关。
附录2(这些命令是在hyperkube容器内执行的,具体是这个gcr.io/google_containers/hyperkube:v1.0.6
:)
没有 --no-sync 的 etcdctl 无法输出以下内容:
和 kube-apiserver 有这个:
附录 3
etcd - etcd:改变弹性递归等待
etcd 允许客户端通过向等待命令提供节点的最后一个已知索引来安全地等待单个 k/v 节点的更改。etcd 还允许等待(“递归”)对某个父节点下的子节点的任何更改。
现在,问题是:是否有可能以这样一种方式递归地等待父节点,以保证客户端不会错过任何子节点的更改?在这种情况下,父节点索引没有用,因为它不会在子节点修改时改变。
networking - 尝试从 Docker 容器中访问 etcd 时出现“连接被拒绝”
我正在尝试从正在运行的 Docker 容器中访问 etcd。当我跑
我明白了
我有四个其他主机可以正常工作,但是这台机器上的每个容器都有这个问题。我真的不知道发生了什么,我不知道如何调试它。
我的 etcd 环境变量是
我也可以从主机访问 etcd
所以从容器路由到主机时似乎出现了一些错误。但我无法弄清楚它是什么。谁能指出我正确的方向?
ssl - 带有 TLS 的 etcdctl 失败,curl 成功
我有一个在 docker 容器中运行的单个 etcd 服务器,实现了一个大小为 1 的 etcd 集群。它是通过发现服务初始化的。当我使用不安全的连接时,一切都很好。但是,当我按照此处所述切换到 TLS 安全通信时, etcdctl 无法工作。但是,cli curl 命令可以正常工作。
这是一个使用带有自签名证书的 TLS 从容器中通过 etcdctl 访问 etcd 的示例。使用 openssl 客户端,我可以验证我的 TLS 通信...
但试图使用 etcdctl 做一个成员列表
所以有些东西很无聊(尽管它似乎已经与 etcd 集群交谈并找到了成员(只有一个)
一个简单的curl
命令按我的预期工作
我不知道下一步该做什么。etcd 和 etcdctl 都是 v 2.0.9
etcd - etcd 集群如何处理节点故障以及有多少可能会失败?
我有 7 个节点运行 etcd 集群。
其中4个失败。
当大多数节点关闭时,etcd 会停止工作吗?
go - Golang etcd 观察者恐慌
全部!
我有下面的代码:
但是......当某个节点(例如 172.20.20.11)出现故障时,恐慌会抱怨无效的内存地址或 nil 指针取消引用......
有人可以解释一下发生了什么以及如何使这个简单的示例正常工作吗?非常感谢您的建议!亚历克斯
node.js - 在 nodejs 中存储从 etcd 检索到的配置的位置
我从 http 调用中获取配置。
我可以在哪里存储该配置,序列化到文件系统或附加到 GLOBAL或任何其他
我正在使用 nodejs 实现服务发现。http://lukebond.ghost.io/service-discovery-with-etcd-and-node-js/
我正在获取服务注册表。我想存储它以在应用程序范围内使用。
etcd - etcdctl 的“--ca-file”标志没用?
etcd
我已经使用以下命令设置了服务器:
我可以从中获取数据curl
:
上面的命令返回:
但是当我使用etcdctl
:
它返回:
我还以为是证书验证失败,为什么--ca-file
flagetcdctl
会生效呢?还是我的命令有问题?
我使用的 etcd 版本是: