- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我想找到一种方法将 etcd 集群部署为 Docker Swarm 服务,无需任何交互即可自动配置自身。基本上,我想到了这个命令的精神:
docker service create --name etcd --replicas 3 my-custom-image/etcd
我假设覆盖网络配置为安全并提供加密和身份验证,所以我相信我不需要 TLS,甚至不需要 --auto-tls
。当这可以在另一层上解决时,不希望寻找一种提供证书的方法而额外头疼。
我需要为每个实例设置一个唯一的 --name
,但我可以从使用 export ETCD_NAME=$(hostname --short)
的入口点脚本中获取它.
问题是,我卡在初始配置上。基于clustering guide有三个选项,但似乎没有一个适合:
etcd
,我会得到我节点容器的所有 IP,但是没有 _etcd-server._tcp
记录。ETCD_INITIAL_CLUSTER
,因为虽然我知道 IP,但我不知道其他节点的名称,而且我不知道有什么方法可以解决这些问题。 (我不会为此向 etcd 容器公开 Docker API 套接字。)docker-compose.yml
部署一个堆栈,它就会自动做正确的事情,不问任何问题”。有什么技巧可以拉出来的吗?
最佳答案
正如您所说的,您知道节点容器的 IP,所以建议的技巧是简单地将所需的 etcd
名称构建为每个节点 IP 地址的派生。
etcd
使用这个特定容器的 IP 命名,即 etcd-$ip
ETCD_INITIAL_CLUSTER
使用其他容器的 IP 以类似方式填充名称可以像 etcd-$ip
一样简单,甚至更好,即我们可以使用 netmask
来计算该网络上节点的 IP 以使名称更漂亮.
在这种情况下,在一个简单的 3 节点配置中,最终的名称可能类似于 etcd-02
etcd-03
等
对于 name 没有具体要求属性,它只需要是唯一的和人类可读的。虽然它确实看起来像一个技巧,但它可能会起作用
关于docker - 将 etcd 集群自动配置为 Docker swarm 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44349993/
我正在使用此命令启动 etcd(v3.3.15) 服务: systemctl start etcd 这是我的 etcd 系统配置: [Unit] Description=Etcd Server Aft
我尝试为数据中心设置 coreos etcd 集群。 我最多可以在集群中为其设置多少个节点? 我和添加更多节点是否有助于提高性能? 我没有从官网上找到图。它只提到 9 就可以。 最佳答案 据我所知,我
跨多个数据中心使用 etcd 是否安全?因为它将 etcd 端口暴露给公共(public)互联网。 在这种情况下我是否必须使用客户端证书或 etcd 有某种身份验证? 最佳答案 是的,但是您需要解决两
我试图理解 etcd 上的“原子”更新是什么。 当我想到“原子”时,我认为有一个“之前”和一个“之后”(没有期间,如果更新失败,它仍然是“之前”)。 这是一个例子: curl -s -XPUT htt
我是 etcd 的新手还有一些关于日志复制的困惑点: 例如,leader 发送 {term:2,index:3} 然后发送 {term:2,index:4},大多数人也按顺序响应。但由于网络延迟,le
使用 -w json 或 --hex 标志以 json(base64) 或十六进制格式提取 etcd 数据很简单 ETCDCTL_API=3 etcdctl get /registry/secrets
我正在使用 github.com/coreos/etcd/client 与 etcd 云通信,有时我会收到 401 错误“请求索引中的事件已过时并已清除”,在服务器页面上有一个解释为什么它发生了如何解
我正在尝试使用 Containerd 在 CentOS 8 上设置 3 个节点的 Kubernets 1.18。按照 Stacked control plane 和 etcd 节点 ( https:/
我们的 kubernetes 集群最近因 etcd“超出数据库大小”而崩溃。 我们通过“简单”的 etcd 集群端点碎片整理 (see here) 成功地恢复了一切。 不幸的是,一切还不完美。特别是
我在golang中遇到以下错误 # go.etcd.io/etcd/clientv3/balancer/picker
我尝试在 kubeadm 中使用 coredns 安装 cilium 库贝:1.12.3 纤毛:1.3.0 我收到此错误: Readiness probe failed: KVStore: Fail
当我想通过在 Rancher UI 中选择 etcd、Controle Plane 和 Worker 来加入节点时,我收到了这个错误: 集群必须至少有一个 etcd 平面主机:无法连接到以下 etcd
ETCD-raft笔记 0. 引言 该篇博客基于etcd v3.5.7版本,首先会简单介绍etcd/raft对Raft选举部分的算法优化,然后通过源码分析etcd/raft的选举实现。
我正在使用 ubuntu 14.04 并且我正在配置 etcd 以与 calico 一起使用,但该服务不起作用。 这是我的 etcd.conf 文件: # vim:set ft=upstart ts=
我正在尝试在 Ubuntu 机器上设置 3 节点 etcd 集群作为网络的 docker 数据存储。我使用 etcd docker 镜像成功创建了 etcd 集群。现在,当我尝试复制它时,这些步骤在一
据我所知,etcd使用 Raft 作为共识和领导者选择算法来维护一个领导者,该领导者负责保持 etcd 的集合。节点与 etcd 中的数据更改同步簇。除此之外,这允许 etcd从集群中的节点故障中恢复
etcd:增加30%的写入性能 本文最终的解决方式很简单,就是将现有卷升级为支持更高IOPS的卷,但解决问题的过程值得推荐。 译自: etcd: getting 30% more wr
正在尝试使用 coreos/jetcd 用于更新 etcd 中的 haproxy 设置来自Java代码。 我想要实现的是: 删除单个主机的所有端点 添加给定主机的更新数据 我想通过前缀删除所有键,并将
我在 AWS 中有一个 k8s 集群,看起来部分正常,但实际上不会进行部署。查看组件的健康状况时,etcd 显示为不健康。这似乎是 etcd 端点被查询为 http 与 https 的问题: kube
我正在尝试使用etcd作为后端部署CoreDNS。我已经了解了etcd和CoreDNS的大多数配置,但是我正尝试为开发人员提供文档,说明如何将记录推送到etcd中以供CoreDNS使用。 阅读所有et
我是一名优秀的程序员,十分优秀!